来自http://www.pocketdigi.com/20100815/52.html
有两个Activity,A,B,由A启动B,并传数据给B,B在经过处理后把数据传回给A。举个例子,A是主程序,B是设置参数的 Activity,在B修改设置后,要让A重新读取设置,就要用到回传数据.主要是两个函数startActivityForResult onActivityResult
先是A传B:
1
2
3
4
5
6
7
8
| Bundle bd =
new
Bundle(
)
;
bd.putString
(
"Dir"
, "/sdcard/"
)
;
Intent intent=
new
Intent(
)
;
intent.putExtras
(
bd)
;
intent.setClass
(
main.this
,location.class
)
;
startActivityForResult(
intent,2
)
;
//这里的2是我随便写的,代表requestCode,就是用来做个标记,网上的例子好像都是写requestCode,
//结果我在测试时A没接收到,这里必须填正数
|
然后就是B接收再传回:
1
2
3
4
| Intent it =
new
Intent(
)
;
it.putExtra
(
"Dir"
,(
String
)
tv1.getText
(
)
)
;
setResult(
2
, it)
;
//2与前面的A里的2对应
finish(
)
;
|
A里的接收代码:
1
2
3
| protected
void
onActivityResult(
int
requestCode, int
resultCode, Intent data)
{
//B返回时触发
}
|