从aActivity跳转到bActivity去,并在bActivity做相关的处理,当相关的事情做完之后就回到aActivity,或许还同时返回一些bActivity处理完的数据交给主aActivity处理。
aActivity:
Intent intent = new Intent(aActivity.this, bActivity.class);
activity.startActivityForResult(intent, 0);
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 0 && resultCode == Activity.RESULT_OK {
bean= data.getExtras().getParcelable("data");
//TODO
}
}
bActivity:
在bActivity回退带aActivity之前,也就是bActivity调用finish()时
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putParcelable("data", bean);
intent.putExtras(bundle);
setResult(RESULT_OK, intent);
finish();
requestCode: 表示的是启动一个Activity时传过去的requestCode值,即上面aActivity接收值时设置的0
resultCode:表示的是启动后的Activity回传值时的bActivity值,即Activity.RESULT_OK
bean:为回传的数据,如果是对象的话,bean一定要被序列化才行
即public class Bean implements Parcelable {}
序列化相关链接:http://blog.youkuaiyun.com/qq_26607985/article/details/52875115