从一个activity回退到另一个activity并返回值

来源:互联网 发布:xero会计软件使用方法 编辑:程序博客网 时间:2024/06/07 10:17
从aActivity跳转到bActivity去,并在bActivity做相关的处理,当相关的事情做完之后就回到aActivity,或许还同时返回一些bActivity处理完的数据交给主aActivity处理。

aActivity:
Intent intent = new Intent(aActivity.this, bActivity.class);activity.startActivityForResult(intent, 0);@Overridepublic 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.csdn.net/qq_26607985/article/details/52875115
2 0