转载自  http://www.blogjava.net/mixer-a/archive/2012/03/23/375014.html

主要功能:

在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity处理。这样的数据交流就要用到回调函数onActivityResult。

<1>startActivityForResult(Intent intent, int requestCode);

第一个参数:一个Intent对象

第二个参数:如果> = 0,当Activity结束时requestCode将归还在onActivityResult()中。以便确定返回的数据是从哪个Activity中返回

<2>onActivityResult(int requestCode, int resultCode, Intent data)

第一个参数:这个整数requestCode提供给onActivityResult,是以便确认返回的数据是从哪个Activity返回的。

            这个requestCode和startActivityForResult中的requestCode相对应。

第二个参数:这整数resultCode是由子Activity通过其setResult()方法返回。

第三个参数:一个Intent对象,带有返回的数据。

<3>setResult(int resultCode, Intent data)

调用这个方法把Activity想要返回的数据返回到父Activity

第一个参数:当Activity结束时resultCode将归还在onActivityResult()中,一般为RESULT_CANCELED , RESULT_OK。

第二个参数:一个Intent对象,返回给父Activity的数据。

       

   

本实例一共有三个Activity。点击飞往火星跳转到otherActivity,把地球带给火星的消息显示在otherActivity中。点击返回地球时把火星带给地球的消息传到主Activity.

同理:

点击飞往月球跳转到thirdActivity,把地球带给月球的消息显示在thirdActivity中。点击返回地球时把月球带给地球的消息传到主Activity.

具体实现:

主Activity:

otherActivity:

thirdActivity:

转载自   http://www.2cto.com/kf/201205/133027.html

androidActivity之间的跳转不只是有startActivity(Intent i)的,startActivityForResult(Intent intent, int requestCode)也是常用的方法。

其作用是可以用onActivityResult(int requestCode, int resultCode, Intent data)方法获得请求Activity结束之后的操作。    需要注意三个方法:startActivityForResult(Intent intent, int requestCode),onActivityResult(int requestCode, int resultCode, Intent data),setResult(int resultCode, Intent data)

例如如下代码:从From跳转至ToB和ToC From: if(条件){ Intent intent = new Intent(this, ToB.class); startActivityForResult(serverIntent, REQUEST_CODE_01);//跳转至ToB }else{ Intent intent = new Intent(this, ToC.class); startActivityForResult(serverIntent, REQUEST_CODE_02);//跳转至ToC }   public void onActivityResult(int requestCode, int resultCode, Intent data){           switch (requestCode) { case REQUEST_CODE_01:                         if(resultCode==Activity.RESULT_OK)                         //do something                         break;                 case REQUEST_CODE_02: //do something                         break; } }         这里说说startActivityForResult(Intent intent, int requestCode)的参数,第一个Intent不用说了,需要注意的是第二个,我们用的是REQUEST_CODE_01和REQUEST_CODE_02,其实这个是我们自己定义的一个int型常量,用于标记的,具体作用可在onActivityResult方法里看到,用于判断是从哪个Activity返回的。   ToB: Intent intent = new Intent(); intent.putExtra(key, value); setResult(Activity.RESULT_OK, intent); finish();//结束之后会将结果传回From   ToC: Intent intent = new Intent(); intent.putExtra(key, value); setResult(Activity.RESULT_OK, intent); finish();//结束之后会将结果传回From      setResult的第一个参数对应上面onActivityResult的第二个参数,注意别把onActivityResult的第一个参数与第二个参数搞混淆了,一个是请求标记,一个是返回标记。   欢迎补充~~~

转载于:https://www.cnblogs.com/zqq965774513/p/3571007.html

(转载)Android进阶2之Activity之间数据交流(onActivityResult的用法)相关推荐

  1. 解析activity之间数据传递方法的详解

    转自:http://www.jb51.net/article/37227.htm 本篇文章是对activity之间数据传递的方法进行了详细的分析介绍,需要的朋友参考下 1  基于消息的通信机制 Int ...

  2. android数据回传的代码,android Activity之间数据传递 Parcelable和Serializable接口的使用...

    Activity之间传数据时,为了避免麻烦,往往会将一些值封装成对象,然后将整个对象传递过去.传对象的时候有两种情况,一种是实现Parcelable接口,一种是实现Serializable接口. 0. ...

  3. Android(Fragment和Activity之间通信)

    Fragment的使用可以让我们的应用更灵活的适配各种型号的安卓设备,但是对于Fragment和Activity之间的通信,很多朋友应该比较陌生,下面我们就通过一个实例来看一看如何实现. 一.Acti ...

  4. Android 使用 ActivityResult 处理 Activity 之间的数据通信及调起拍照实例

    在 Android 中,我们如果想在 Activity 之间双向传递数据,需要使用 startActivityForResult 启动,然后在 onActivityResult 中处理返回,另外申请权 ...

  5. Android中BroadCast与Activity之间的通信

    在看本文之前,假设你对于Android的广播机制不是非常了解.建议先行阅读我转载的一篇博文:图解 Android 广播机制. 因为本案例比較简单,故直接在此贴出代码,不做过多的阐述. 先上效果截图: ...

  6. Android进阶之路 - 如何携带数据跳转到三方应用、指定页?

    老了,老了,那天有位小同事问我Android跳转三方应用时有什么要注意的?是否可以直接跳?如何传递参数过去? 嗯- 我竟然说需要root或者三方授权,尴尬了- 其实Android的四大组件都支持IPC ...

  7. Android笔记:Fragment与Activity之间的交互,onAttach,退出最后一个 fragment

    一.交互代码笔记: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28     private Log ...

  8. Android进阶UI之加载数据等待时,小人奔跑进度动画对话框

    ##1 概述 Android中,常见的动画模式有两种:一种是帧动画(Frame Animation),一种是补间动画(Tween Animation).帧动画是提供了一种逐帧播放图片的动画方式,播放事 ...

  9. Android 程序,实现Activity之间的跳转

    大概效果:在Activity1中有一个Button,当点击Button时,跳转到Activity2.跳转时,由Activity1向Activity2传递字符串,使Activity2中原本为空的Text ...

最新文章

  1. 运营书籍:新媒体运营实战笔记
  2. 浙江大学-计算机中的数学(诙谐幽默的短视频)
  3. Linux(CentOS) 如何查看当前占用CPU或内存最多的K个进程
  4. linux下 chown命令
  5. PYTHON调用JENKINS的API来进行CI
  6. 杜教BM模板(用于求线性递推公式第N项)
  7. 带有自定义注释的Java注释教程
  8. windows 10 删除Linux系统方法
  9. char flag[20]c语言,C语言试卷
  10. 马云怒赞的93年网红区块链工程师,教你如何用3年时间实现逆袭
  11. 搞了很久终于突破了一点瓶颈,fighting!!!!!!!!!!!!!!!!
  12. JAVA 多用户商城系统b2b2c- 服务消费者(rest+ribbon)
  13. 牛腩新闻发布系统——总结
  14. 小马智行获准在北京开启无人化出行服务商业化试点;华为成为Sisvel Wi-Fi 6专利池创始成员 | 美通企业日报...
  15. 集成模型Bagging和Boosting的区别
  16. Android 仿QQ退出(点击返回键不退出app,点击icon直接进入上次退出的页面)
  17. 美国大学计算机工程专业排名,2018美国大学计算机工程专业排名_美国大学计算机工程排名...
  18. P4设计实现链路监控
  19. 使用git命令——分支切换
  20. 怎样检查mysql是否安装成功_怎么检验mysql安装成功

热门文章

  1. 动手实现Kotlin协程同步切换线程,以及Kotlin协程是如何实现线程切换的
  2. 2021-04-17 安装Ubuntu18.0.4 的深度学习训练服务器
  3. 跟alex学python_跟着Alex学习python
  4. python list_Python中的基本list操作
  5. 深度学习-TF函数-layers.concatenate用法 numpy数组维度
  6. linux shell判断文件、目录是否存在并移动到指定位置
  7. MFC 不存在从 CString 到 char * 的适当转换函数
  8. Caffe学习系列(13):数据可视化环境(python接口)配置
  9. 教你怎么用WIN7系统自带工具调整硬盘分区
  10. Java NIO学习系列一:Buffer