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)); } }}
时间: 2024-10-13 22:21:07