返回其他页面的object
1.object需要实现serlizable。
2.第二个页面做以下操作。设置intent携带的数据,通过setResult设置请求码和intent。
Intent intent = getIntent();
Bundle bundle=new Bundle();
bundle.putSerializable(ActivityConstants.EXTRA_CONTRACT_ADDRESS_KEY,list.get(position));
intent.putExtras(bundle);
setResult(ActivityConstants.RESULT_ADDRESS_ID_CODE, intent);
finish();
在上个页面中的处理:重写onActivityResult,判断resultCode,获取intent携带的值。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode==ActivityConstants.RESULT_ADDRESS_ID_CODE){
if(data!=null){
Bundle bundle=data.getExtras();
serviceAddressBean= (ServiceAddressBean) bundle.getSerializable(ActivityConstants.EXTRA_CONTRACT_ADDRESS_KEY);
if(serviceAddressBean!=null){
ServiceAddress.setText(serviceAddressBean.getDetailedAddress());
}
}
}
}
需要注意的是启动模式要是默认的。若为singleTask
则onActivityResult
获取不到数据。