如果要将数据从一个activity传递到另一个activity,就需要利用bundle的数据封装能力。
首先在PutBundleActivity中将数据放入bundle,代码如下:
public class PutBundleActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button b1 = (Button) findViewById(R.id.button1); b1.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { EditText et = (EditText) findViewById(R.id.height); double height = Double.parseDouble(et.getText().toString()); Intent intent = new Intent(); intent.setClass(PutBundleActivity.this, GetBundleActivity.class); Bundle bundle = new Bundle(); bundle.putDouble("height", height); intent.putExtras(bundle); startActivity(intent); } }); } }
然后在Intent指向的GetBundleActivity中拿数据,代码如下:
public class GetBundleActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.myalyout); /* 取得Intent中的Bundle对象 */ Bundle bunde = this.getIntent().getExtras(); /* 取得Bundle对象中的数据 */ double height = bunde.getDouble("height"); } }
ok,就那么简单,哈哈,收工!