说明
记录一个基础问题, Activity传值与回传,后面遇到类似的问题就不用再问人了。
Activity传值与回传
Android Developers: 获取Activity的结果
链接只讲了怎么获取返回的数据,没有写返回数据的方法。
假设
FirstActivity 为初始Activity,SecondActivity 为跳转Activity
首先
在FirstActivity 通过startActivityForResult(Intent intent, int requestCode) 方法跳转Activity
Intent i = new Intent(FirstActivity.this, SecondActivity.class)
startActivityForResult(i,requestCode);
然后
在FirstActivity 重写 onActivityResult(int requestCode, int resultCode, Intent data)方法
三个参数分别为:请求码,返回码,返回数据
switch (requestCode) {
case requestCode:
if (resultCode == RESULT_OK) {
// do something
}
break;
最后
在SecondActivity 通过setResult(int resultCode, Intent data)方法返回数据
参数为:返回码,返回数据
Intent i = new Intent();
i.putExtra("bean",bean);
this.setResult(RESULT_OK,i);
finish();
即可在FirstActivity 的onActivityResult()方法中接收到回传的数据。