Android startActivityForResult实例详解

startActivityForResult用于两个activity之间的数据传递,Activity1传值给Activity2,Activity2再返回值给Activity1。
第一步:Activity1中:startActivityForResult(Intent intent, Int requestCode)
Intent intent = new Intent();
intent.setClass(Activity1.this,Activity2.class);
Bundle bundle = new Bundle();
intent.putExtras(bundle);
bundle.putString("abc", "bbb");
startActivityForResult(intent, 0);
// 跳转并要求返回值,0代表请求值(可以随便写,但一定要>=0)
第二步:Activity2中:setResult(int resultCode, Intent intent)回传数据时采用setResult方法,并且之后Activity2中要调用finish方法。
Intent intent = this.getIntent();
Bundle bundle = intent.getExtras();
String bbb=bundle.getString("abc");//接收A的数据
bundle.putString("aaa", "back");//返回给A的数据
intent.putExtras(bundle);
this.setResult(Activity.RESULT_OK, intent);
//1、结果码可以自定义但必须大于等于0,
//如果B子模块可能有几种不同的结果返回,
//可以用这个参数予以识别区分。还有个特殊的 RESULT_OK 值,没有特殊情况用它就好了。
//返回码可以是ESULT_CANCELED, RESULT_OK, or any custom values starting at RESULT_FIRST_USER。
//如果,调用的child activity失败,这个parent activity 将会收到的返回码是RESULT_CANCELED.
//2、intent为A传来的带有Bundle的intent,当然也可以自己定义新的Bundle的intent
this.finish();
//Activity2调用finish()方法之后才能返回数据到Activity1
第三步:Activity1中:返回数据,重写onActivityResult(int requestCode, int resultCode, Intent intent)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0 && resultCode == Activity.RESULT_OK) {
Bundle bundle = data.getExtras();
gameView.backString = bundle.getString("aaa");
Toast.makeText(this, backString, Toast.LENGTH_SHORT).show();
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# startActivityForResult
# startActivityForResult详解
# Android startActivityForResult的调用与封装详解
# Android startActivityForResult的基本用法详解
# Android利用startActivityForResult返回数据到前一个Activity
# Android startActivityForResult和setResult的区别
# Android基础之startActivityForResult()的用法详解
# Android startActivityForResult()代替方案示例
# 返回值
# 有个
# 将会
# 可以用
# 希望能
# 能有
# 几种
# 自定义
# 重写
# 跳转
# 谢谢大家
# 用它
# 第二步
# 中要
# 第三步
# 回传
# 就好了
# 求值
# bbb
相关文章:
建站主机是否等同于虚拟主机?
北京企业网站设计制作公司,北京铁路集团官方网站?
建站VPS能否同时实现高效与安全翻墙?
家庭服务器如何搭建个人网站?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
Python如何创建带属性的XML节点
香港服务器建站指南:免备案优势与SEO优化技巧全解析
上海网站制作开发公司,上海买房比较好的网站有哪些?
C#怎么使用委托和事件 C# delegate与event编程方法
,在苏州找工作,上哪个网站比较好?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
制作网站外包平台,自动化接单网站有哪些?
北京专业网站制作设计师招聘,北京白云观官方网站?
建站之星如何实现网站加密操作?
nginx修改上传文件大小限制的方法
建站主机选购指南与交易推荐:核心配置解析
如何通过PHP快速构建高效问答网站功能?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
如何在香港免费服务器上快速搭建网站?
如何快速生成凡客建站的专业级图册?
微信小程序 五星评分(包括半颗星评分)实例代码
做企业网站制作流程,企业网站制作基本流程有哪些?
山东云建站价格为何差异显著?
如何获取上海专业网站定制建站电话?
宝塔面板创建网站无法访问?如何快速排查修复?
模具网站制作流程,如何找模具客户?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
设计网站制作公司有哪些,制作网页教程?
制作公司内部网站有哪些,内网如何建网站?
网站制作新手教程,新手建设一个网站需要注意些什么?
用v-html解决Vue.js渲染中html标签不被解析的问题
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
网站制作报价单模板图片,小松挖机官方网站报价?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
济南专业网站制作公司,济南信息工程学校怎么样?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
建站主机解析:虚拟主机配置与服务器选择指南
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
建站之星备案是否影响网站上线时间?
,南京靠谱的征婚网站?
建站之星后台管理:高效配置与模板优化提升用户体验
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
如何生成腾讯云建站专用兑换码?
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
建站之星2.7模板快速切换与批量管理功能操作指南
如何通过VPS搭建网站快速盈利?
宝塔新建站点为何无法访问?如何排查?
*请认真填写需求信息,我们会在24小时内与您取得联系。