1 Bundle传值
例如:A调用并将数据传给B
1、A中调用代码:
Intent intent = new Intent();
intent.setClass(A.this, B.class);
Bundle mBundle = new Bundle();
mBundle.putString("passData", "hello!B");//压入数据,passData是自定义的识别标志,还可以put添加多个Int、String等类型的数据
intent.putExtras(mBundle);
startActivity(intent);
A.this.finish();
2、B中接受数据的代码:
Bundle bundle = getIntent().getExtras();
String data = bundle.getString( "passData" );// data的值为hello!B
注:如果要传送的数据条目颇多的话,可以将识别标志抽取为一个个常量来引用。既避免出错,又方便维护。
2 利用startActivityForResult与onActivityResult方法
例如:A调用并传值给B,B得到A的值,还需在结束时返回一个值给A;
这里有两种较为普遍的方式:
1、 显示调用:即A是可知的,B也是可知的,A直接通过B的名字来调用它,方法如下:
<1>A中代码:
static final int A_REQUEST = 0;
//开始调用