Android 数据传递Bundle


是以一个计算器的形式实现的

TranslateDateActivity.java

  1. package rw.data;  
  2.   
  3. import Android.app.Activity;  
  4. import android.content.Intent;  
  5. import android.os.Bundle;  
  6. import android.view.View;  
  7. import android.view.View.OnClickListener;  
  8. import android.widget.ArrayAdapter;  
  9. import android.widget.Button;  
  10. import android.widget.EditText;  
  11. import android.widget.Spinner;  
  12.   
  13.   
  14. public class TranslateDateActivity extends Activity {  
  15.     /** Called when the activity is first created. */  
  16.      
  17.     private EditText oneEditText,twoEditText;  
  18.     private Spinner spinner;  
  19.     private Button button;  
  20.     public void onCreate(Bundle savedInstanceState) {  
  21.         super.onCreate(savedInstanceState);  
  22.         setContentView(R.layout.main);  
  23.         oneEditText=(EditText)findViewById(R.id.editText1);  
  24.         twoEditText=(EditText)findViewById(R.id.editText2);  
  25.         spinner=(Spinner)findViewById(R.id.spinner1);  
  26.         ArrayAdapter<String> adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item);  
  27.         adapter.add("+");  
  28.         adapter.add("-");  
  29.         adapter.add("*");  
  30.         adapter.add("/");  
  31.         spinner.setAdapter(adapter);  
  32.         button=(Button)findViewById(R.id.button1);  
  33.         button.setOnClickListener(new ButtonListener());  
  34.     }  
  35.     class ButtonListener implements OnClickListener{  
  36.   
  37.         @Override  
  38.         public void onClick(View v) {  
  39.             // TODO Auto-generated method stub   
  40.             Intent intent=new Intent();  
  41.             Bundle bundle=new Bundle();  
  42.             bundle.putString("onetext", oneEditText.getText().toString());  
  43.             bundle.putString("spinner", spinner.getSelectedItem().toString());  
  44.             bundle.putString("twotext", twoEditText.getText().toString());  
  45.             intent.putExtras(bundle);  
  46.             intent.setClass(getApplicationContext(), result.class);  
  47.               
  48.             TranslateDateActivity.this.startActivity(intent);  
  49.         }  
  50.           
  51.     }  
  52. }  

result.java

  1. package rw.data;  
  2.   
  3.   
  4. import android.app.Activity;  
  5. import android.os.Bundle;  
  6. import android.widget.TextView;  
  7.   
  8. public class result extends Activity {  
  9.     /** Called when the activity is first created. */  
  10.   
  11.     private TextView textView,textView2,textView3,textView4,textView5;  
  12.     public void onCreate(Bundle savedInstanceState) {  
  13.         super.onCreate(savedInstanceState);  
  14.         setContentView(R.layout.calculateresult);  
  15.         textView=(TextView)findViewById(R.id.textView1);  
  16.         textView2=(TextView)findViewById(R.id.textView2);  
  17.         textView3=(TextView)findViewById(R.id.textView3);  
  18.         textView4=(TextView)findViewById(R.id.textView4);  
  19.         textView5=(TextView)findViewById(R.id.textView5);  
  20.          Bundle bundle=getIntent().getExtras();  
  21.         textView.setText(bundle.getString("onetext"));  
  22.         textView2.setText(bundle.getString("spinner"));  
  23.         textView3.setText(bundle.getString("twotext"));  
  24.        if (bundle.getString("spinner").endsWith("+")) {  
  25.         textView5.setText(String.valueOf(Integer.parseInt(textView.getText().toString())+Integer.parseInt(textView3.getText().toString())));  
  26.         }else if(bundle.getString("spinner").endsWith("-")){  
  27.             textView5.setText(String.valueOf(Integer.parseInt(textView.getText().toString())-Integer.parseInt(textView3.getText().toString())));  
  28.   
  29.         }else if (bundle.getString("spinner").endsWith("*")) {  
  30.             textView5.setText(String.valueOf(Integer.parseInt(textView.getText().toString())*Integer.parseInt(textView3.getText().toString())));  
  31.   
  32.         }else  {  
  33.             textView5.setText(String.valueOf(Integer.parseInt(textView.getText().toString())/Integer.parseInt(textView3.getText().toString())));  
  34. //由于设置的是整形,所以除法有误差   
  35.         }  
  36.     }  
  37. }  

main.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >  
  7. <TextView    
  8.     android:layout_width="fill_parent"   
  9.     android:layout_height="wrap_content"   
  10.     android:text="@string/hello"  
  11.     />  
  12. <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/editText1">  
  13.     <requestFocus></requestFocus>  
  14.     </EditText>  
  15. <Spinner android:layout_width="match_parent" android:id="@+id/spinner1" android:layout_height="wrap_content"></Spinner>  
  16. <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/editText2">  
  17.     <requestFocus></requestFocus>  
  18. </EditText>  
  19. <Button android:id="@+id/button1" android:layout_height="wrap_content" android:text="计算" android:layout_width="match_parent"></Button>  
  20.   
  21. </LinearLayout>  

calculateresult.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout  
  3.   xmlns:android="http://schemas.android.com/apk/res/android"  
  4.   android:orientation="horizontal"  
  5.   android:layout_width="match_parent"  
  6.   android:layout_height="match_parent">  
  7.     <TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>  
  8.     <TextView android:text="TextView" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>  
  9.     <TextView android:text="TextView" android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>  
  10.     <TextView android:text="=" android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>  
  11.     <TextView android:text="TextView" android:id="@+id/textView5" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>  
  12.     
  13. </LinearLayout>  

相关内容