安卓startActivityForResult用法

时间:2023-11-21 12:34:02

startActivityForResult的作用就是它可以回传数据,假如我们有两个页面A和B,点击A页面的一个按钮,进入下一个页面B,进入页面B后,进行设置操作,并在finish()或者back后,将B中设置的值回传给A页面,A页面来显示所得到的值。有点像回调方法,在第二个页面finish()后会回调第一个页面onActivityResult()方法。代码如下:

在A页面 点击一个按钮进入B

A页面代码:

Intent intent = new Intent();
intent.setClass(A.this, B.class);
startActivityForResult(intent, 3); B页面代码: Intent data = new Intent();
data.putExtra("hospital", HosName);
data.putExtra("hos_id", HosId);
setResult(3, data);
finish(); A页面代码:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (3 == requestCode) {
hosName = data.getExtras().getString("hospital");
hosId = data.getExtras().getString("hos_id");
if (!hosName.equals("")) {
select_area.setText(hosName);
select_area.setTextColor(getResources().getColor(R.color.black));
} else {
select_area.setText("请选择转诊医院");
select_area.setTextColor(getResources().getColor(R.color.hintgray));
}
}
}