安卓startActivityForResult用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓startActivityForResult用法相关的知识,希望对你有一定的参考价值。
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));
}
}
}
以上是关于安卓startActivityForResult用法的主要内容,如果未能解决你的问题,请参考以下文章
startActivityForResult() 不调用 onActivityResult(int requestCode, int resultCode, Intent data)?
使用 startActivityForResult 方法启动时,singleTask 应用程序不会重用最近应用程序中已经存在的任务