Android startActivityForResult实例详解
发布时间 - 2026-01-11 01:02:26 点击率:次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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
Laravel如何使用withoutEvents方法临时禁用模型事件
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
大连 网站制作,大连天途有线官网?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
香港服务器租用费用高吗?如何避免常见误区?
如何安全更换建站之星模板并保留数据?
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
Laravel怎么调用外部API_Laravel Http Client客户端使用
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
网站制作大概多少钱一个,做一个平台网站大概多少钱?
香港服务器选型指南:免备案配置与高效建站方案解析
Laravel distinct去重查询_Laravel Eloquent去重方法
Laravel怎么使用Intervention Image库处理图片上传和缩放
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
如何在阿里云部署织梦网站?
手机网站制作与建设方案,手机网站如何建设?
香港服务器如何优化才能显著提升网站加载速度?
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
如何在云主机上快速搭建多站点网站?
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
JavaScript如何实现路由_前端路由原理是什么
如何在阿里云域名上完成建站全流程?
Laravel如何创建自定义Artisan命令?(代码示例)
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
详解vue.js组件化开发实践
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
北京的网站制作公司有哪些,哪个视频网站最好?
Linux后台任务运行方法_nohup与&使用技巧【技巧】
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
php json中文编码为null的解决办法
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
Thinkphp 中 distinct 的用法解析
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
Python文本处理实践_日志清洗解析【指导】
佛山企业网站制作公司有哪些,沟通100网上服务官网?
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
移动端脚本框架Hammer.js
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
如何在景安服务器上快速搭建个人网站?

