Android 数据传递Bundle

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

TranslateDateActivity.java

package rw.data; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.Spinner; public class TranslateDateActivity extends Activity { /** Called when the activity is first created. */ private EditText oneEditText,twoEditText; private Spinner spinner; private Button button; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); oneEditText=(EditText)findViewById(R.id.editText1); twoEditText=(EditText)findViewById(R.id.editText2); spinner=(Spinner)findViewById(R.id.spinner1); ArrayAdapter<String> adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item); adapter.add("+"); adapter.add("-"); adapter.add("*"); adapter.add("/"); spinner.setAdapter(adapter); button=(Button)findViewById(R.id.button1); button.setOnClickListener(new ButtonListener()); } class ButtonListener implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent=new Intent(); Bundle bundle=new Bundle(); bundle.putString("onetext", oneEditText.getText().toString()); bundle.putString("spinner", spinner.getSelectedItem().toString()); bundle.putString("twotext", twoEditText.getText().toString()); intent.putExtras(bundle); intent.setClass(getApplicationContext(), result.class); TranslateDateActivity.this.startActivity(intent); } } }


result.java

package rw.data; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class result extends Activity { /** Called when the activity is first created. */ private TextView textView,textView2,textView3,textView4,textView5; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.calculateresult); textView=(TextView)findViewById(R.id.textView1); textView2=(TextView)findViewById(R.id.textView2); textView3=(TextView)findViewById(R.id.textView3); textView4=(TextView)findViewById(R.id.textView4); textView5=(TextView)findViewById(R.id.textView5); Bundle bundle=getIntent().getExtras(); textView.setText(bundle.getString("onetext")); textView2.setText(bundle.getString("spinner")); textView3.setText(bundle.getString("twotext")); if (bundle.getString("spinner").endsWith("+")) { textView5.setText(String.valueOf(Integer.parseInt(textView.getText().toString())+Integer.parseInt(textView3.getText().toString()))); }else if(bundle.getString("spinner").endsWith("-")){ textView5.setText(String.valueOf(Integer.parseInt(textView.getText().toString())-Integer.parseInt(textView3.getText().toString()))); }else if (bundle.getString("spinner").endsWith("*")) { textView5.setText(String.valueOf(Integer.parseInt(textView.getText().toString())*Integer.parseInt(textView3.getText().toString()))); }else { textView5.setText(String.valueOf(Integer.parseInt(textView.getText().toString())/Integer.parseInt(textView3.getText().toString()))); //由于设置的是整形,所以除法有误差 } } }


main.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/editText1"> <requestFocus></requestFocus> </EditText> <Spinner android:layout_width="match_parent" android:id="@+id/spinner1" android:layout_height="wrap_content"></Spinner> <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/editText2"> <requestFocus></requestFocus> </EditText> <Button android:id="@+id/button1" android:layout_height="wrap_content" android:text="计算" android:layout_width="match_parent"></Button> </LinearLayout>


calculateresult.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <TextView android:text="TextView" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <TextView android:text="TextView" android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <TextView android:text="=" android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <TextView android:text="TextView" android:id="@+id/textView5" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> </LinearLayout>


Android 数据传递Bundle

Android 数据传递Bundle