开启Activity获取返回值二
在“开启Activity获取返回值一“中我们已经实现了页面的跳转以及联系人数据的读取。下面我们要实现的是:点击某一条联系人时,将该联系人的电话号码返回到上一个页面。具体实现步骤如下:
在页面B中编写ListView的点击事件,代码如下例1-1:
例1-1
(new OnItemClickListener() {
***@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//读取点击条目的电话号码数据
String phone = (position).getPhone();
//准备一个intent的对象,放置电话号码的数据
Intent data = new Intent();
("phone", phone);
//设置一个结果数据,数据会返回给调用者
setResult(1, data);
//关闭掉当前的activity,
finish();
//结果数据会传递个开启这个activity的组件
//通过onActivityResult()
}
});
例1-1调用setResult方法将电话号码数据返回到上一个Activity中。下面我们对setResult()方法进一步了解,该方法是Activity中的一个方法,参考API如图1-1所示:
图1-1所示
从图1-1可知:调用setResult方法可以返回数据到开启这个Activity的开启者。例1-1中setResult(1, data)返回数据是一个Intent类型的data;返回码是一个Int类型的1,可以用来判断返回是否成功。
在页面A中接收页面B传递过来的数据,代码如下例1-2:
例1-2
***@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data != null) {
//返回数据的读取
String phone = ("phone");
//将返回的数据部署在相应的控件上
(phone);
}
(requestCode, resultCode, data);
}
在页面A所在的Activity中重写onActivityResult方法,该方法用来接收其他Activity返回来的数据。下图1-2是对该方法的官方解释
图1-2所示
由图1-2可知:onActivityResult会在你开启的Activity退出时调用,同时返回一个你开启这个Activity的请求码以及一个结果码,还会返回一些附加的数据。
返回数据的设置以及返回数据的接收我们都已经完成了编写,但是这些并不能实现我们的需求。当点击某一
黑马程序员安卓教程:开启Activity获取返回值二 来自淘豆网m.daumloan.com转载请标明出处.