Public class a extends Activity implements View.OnClickListener {
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//接收来自class B传的数据
if (resultCode == 200) {//来自class B
Address addr = (Address) data.getSerializableExtra("address");
//我这里接收的类型为Bundle(对象) 如果是Intent(基本类型) 照下面接收:
// data.getStringExtra(“key”) 接收类型为String
if (null != addr){
Log.d(">>>>>>>>>>>>>>",addr.toString());
tv_ensure_order_addr.setText("收货地址:"+addr.getArea()+//省
addr.getCity()+//市
addr.getDistrict()+//县/区
addr.getStreet()+//街道
addr.getAddr());//详细地址
tv_ensure_order_name.setText("收货人:"+addr.getName());//姓名
tv_ensure_order_phone.setText(addr.getPhone());//电话
addr_id = addr.getId();
}
}
}
@Override
public void onClick(View view) {
if (view.getId() == tv_addr.getId()){//去选择地址
//使用startActivityForResult跳转到class B 而不是startActivity
startActivityForResult(new Intent(this,B.class));
}
}
}
}
Public class B extends Activity implements View.OnClickListener
{
@Override
public void onClick(View view) {
case R.id.tv_detail_addr:/*详细地址跳转到页面*/
if (null != ordersActivityUserId){
Address address = new Address();
Bundle bundle = new Bundle();
address.setArea(list.get(position).getArea());
address.setDistrict(list.get(position).getDistrict());
address.setName(list.get(position).getName());
address.setPhone(list.get(position).getPhone());
address.setAddr(list.get(position).getAddr());
address.setStreet(list.get(position).getStreet());
address.setCity(list.get(position).getCity());
address.setId(list.get(position).getId());
bundle.putSerializable("address", address);
setResult(200, new Intent(Person_Addr.this,A.class).putExtras(bundle));
//我这里传递的类型为Bundle(对象) 如果是Intent(基本类型) 照下面传:
//setResult(new Intent(Person_Addr.this,OrdersActivity.class).putExtra(“key”,”value”));//传的String
finish();//必须调用finish才能把数据传给class A
}
}
}
onActivityResult,startActivityForResult,setResult用法解决从后一个activity带参数跳转到前一个activity
于 2017-04-23 12:33:48 首次发布