在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
通过这个我们可以判断子Activity中用户操作的结果。
protected void onActivityResult(int requestCode,int resultCode,Intent data)
操作信息返回。例如:
Intent intent = new Intent(); msg = et.getText().toString(); //获取编辑框中的字符串 intent.putExtra("org.hq.testIntent.msg", msg); //向父Activity发送数据 setResult(20,intent); finish(); //本次Activity结束,表面上是两个Activity交互,实际上子Activity返回后它的生命周期已经结束了,再次调用是新生成的Activity
父Activity,通过调用子Activity获取字串保存在编辑框中。
子Activity,可以将编辑框中字串放到Intent中返回给调用者。
demo下载地址:http://download.csdn.net/detail/he_qiao_2010/7129957
父Activity获取子Activity的返回值,布布扣,bubuko.com
原文:http://blog.csdn.net/he_qiao/article/details/22730615