安卓开发_startActivityForResult的详细用法
2014-08-24 15:48
453 查看
一个需求:一个activity到另一个activity进行一些设置,返回第一个activity的时候 获取第二个activity设置的数据
百度了一下,发现startActivityForResult这个很完美的符合了我的效果要求。
正文:
startActivityForResult的主要作用就是它可以回传数据,假设我们有两个页面,首先进入第一个页面,里面有一个按钮,用于进入下一个页面,当进入下一个页面时,进行设置操作,并在其finish()动作或者back动作后,将设置的值回传给第一个页面,从而第一个页面来显示所得到的值。这个有一点像回调方法,就是在第二个页面finish()动作或者back动作后,会回调第一个页面的onActivityResult()方法。
这里看下Demo,一共两个activity
让我们来看下代码:
第一个activity对应的布局文件
效果图:
![](http://images0.cnblogs.com/blog2015/493196/201505/241547246585477.gif)
请求码的作用
使用startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,我们需要为startActivityForResult()方法传入一个请求码(第二个参数)。请求码的值是根据业务需要由自已设定,用于标识请求来源。例如:一个Activity有两个按钮,点击这两个按钮都会打开同一个Activity,不管是那个按钮打开新Activity,当这个新Activity关闭后,系统都会调用前面Activity的onActivityResult(int requestCode, int resultCode, Intent data)方法(该方法需要重写)。
结果码的作用
在一个Activity中,可能会使用startActivityForResult()方法打开多个不同的Activity处理不同的业务,当这些新Activity关闭后,系统都会调用前面Activity的onActivityResult(int requestCode, int resultCode, Intent data)方法。为了知道返回的数据来自于哪个新Activity,在onActivityResult()方法中可以这样做(ResultActivity和NewActivity为要打开的新Activity):
百度了一下,发现startActivityForResult这个很完美的符合了我的效果要求。
正文:
startActivityForResult的主要作用就是它可以回传数据,假设我们有两个页面,首先进入第一个页面,里面有一个按钮,用于进入下一个页面,当进入下一个页面时,进行设置操作,并在其finish()动作或者back动作后,将设置的值回传给第一个页面,从而第一个页面来显示所得到的值。这个有一点像回调方法,就是在第二个页面finish()动作或者back动作后,会回调第一个页面的onActivityResult()方法。
这里看下Demo,一共两个activity
让我们来看下代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/id_frist_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="第一行文本信息" /> <TextView android:id="@+id/id_second_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="第二行文本信息" /> <Button android:id="@+id/btn_frist" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="改变第一行文本的值" /> <Button android:id="@+id/btn_second" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="改变第二行文本的值" /> </LinearLayout>
第一个activity对应的布局文件
效果图:
![](http://images0.cnblogs.com/blog2015/493196/201505/241547246585477.gif)
请求码的作用
使用startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,我们需要为startActivityForResult()方法传入一个请求码(第二个参数)。请求码的值是根据业务需要由自已设定,用于标识请求来源。例如:一个Activity有两个按钮,点击这两个按钮都会打开同一个Activity,不管是那个按钮打开新Activity,当这个新Activity关闭后,系统都会调用前面Activity的onActivityResult(int requestCode, int resultCode, Intent data)方法(该方法需要重写)。
结果码的作用
在一个Activity中,可能会使用startActivityForResult()方法打开多个不同的Activity处理不同的业务,当这些新Activity关闭后,系统都会调用前面Activity的onActivityResult(int requestCode, int resultCode, Intent data)方法。为了知道返回的数据来自于哪个新Activity,在onActivityResult()方法中可以这样做(ResultActivity和NewActivity为要打开的新Activity):
相关文章推荐
- startActivityForResult的详细用法
- Android------startActivityForResult的详细用法
- Android------startActivityForResult的详细用法
- 详细解释下多个Activity之间 startActivityForResult 时,requestCode 和 resultCode 的传递和用法
- startActivityForResult的详细用法-----android
- Android------startActivityForResult的详细用法
- 安卓开发中遇到的Intent的startActivityForResult方法回调后不执行onActivityResult方法
- Android------startActivityForResult的详细用法
- Android------startActivityForResult的详细用法--返回数据
- startActivityForResult()的详细用法
- Android Activity.startActivityForResult的详细用法
- Android------startActivityForResult的详细用法
- Android------startActivityForResult的详细用法
- startActivityForResult的详细用法
- Android------startActivityForResult的详细用法
- startActivityForResult的详细用法及详细使用说明
- Android------startActivityForResult的详细用法
- Android------startActivityForResult的详细用法
- startActivityForResult的详细用法
- 从零开始学android开发-详细谈谈intent的startActivityForResult()方法