首页 > 其他 > 详细

父Activity获取子Activity的返回值

时间:2014-04-02 09:22:20      阅读:472      评论:0      收藏:0      [点我收藏+]

在Android开发中,经常会通过某个父Activity启动一个子Activity,用户

在子Activity上的操作信息又需要返回给父Activity。对于这种需求,我们

不是在父Activity直接调用startActivity函数来启动子Activity,而是调用

startActivityForResult函数。例如:

Intent intent = new Intent(); 
msg = editText.getText().toString(); //获取编辑框中字符串
intent.putExtra("org.hq.testIntent.msg", msg); //向下一个Activity发送编辑框中的字符串,初始化时字符串为空
intent.setClass(MainActivity.this, EditActivity.class);
startActivityForResult(intent,100);//启动下一个Activity,设置一个请求值100

然后在重载onActivityResult函数。这个函数的参数中包括一个请求码,就是上面的100,还有一个结果码,

通过这个我们可以判断子Activity中用户操作的结果。

protected void onActivityResult(int requestCode,int resultCode,Intent data)

至此,父Activity中的工作完成了。在子Activity中,finish之前需要调用setResult函数将子Activity中用户的

操作信息返回。例如:

Intent intent = new Intent();
msg = et.getText().toString(); //获取编辑框中的字符串
intent.putExtra("org.hq.testIntent.msg", msg); //向父Activity发送数据
setResult(20,intent);      
finish();    //本次Activity结束,表面上是两个Activity交互,实际上子Activity返回后它的生命周期已经结束了,再次调用是新生成的Activity

demo预览:

bubuko.com,布布扣

父Activity,通过调用子Activity获取字串保存在编辑框中。

bubuko.com,布布扣

子Activity,可以将编辑框中字串放到Intent中返回给调用者。


demo下载地址:http://download.csdn.net/detail/he_qiao_2010/7129957


父Activity获取子Activity的返回值,布布扣,bubuko.com

父Activity获取子Activity的返回值

原文:http://blog.csdn.net/he_qiao/article/details/22730615

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!