<Activity和Fragment都可使用>
1、在第一个页面(MainActivity.java)中以方法startActivityForResult( )启动第二个页面(TwoActivity.java);
01.
private
void
jumpToActiviy2() {
02.
03.
Bundle bundle =
new
Bundle();
04.
bundle.putString(
"strSex"
, strSex);
05.
bundle.putDouble(
"douHeight"
, douHeight);
06.
Intent intent =
new
Intent();
07.
intent.setClass(MainActivity.
this
, TwoActivity.
class
);
08.
intent.putExtra(
"bundle"
, bundle);
09.
startActivityForResult(intent,
0
);
10.
}
2、在第二个页面中对要返回的数据进行打包,并以方法setResult( )返回第一个页面;
01.
private
void
jumpToActiviy1() {
02.
03.
Intent intent2 =
new
Intent();
04.
intent2.setClass(TwoActivity.
this
, MainActivity.
class
);
05.
Bundle bundle2 =
new
Bundle();
06.
bundle2.putString(
"strResult"
, strResult);
07.
intent2.putExtra(
"bundle2"
, bundle2);
08.
setResult(
0
, intent2);
09.
TwoActivity.
this
.finish();
10.
}
3、在第一个页面中复写onActivityResult( )方法,用于获取和处理第二页面返回的数据,更新页面。
01.
@Override
02.
protected
void
onActivityResult(
int
requestCode,
int
resultCode, Intent data) {
03.
if
(
0
== requestCode) {
04.
if
(
0
== resultCode) {
05.
06.
Bundle bundle2 = data.getBundleExtra(
"bundle2"
);
07.
String strFromAct2 = bundle2.getString(
"strResult"
);
08.
txtFromAct2.setText(strFromAct2);
09.
}
10.
11.
}
12.
super
.onActivityResult(requestCode, resultCode, data);
13.
}