位置: 编程技术 - 正文

Fragment里onActivityResult()无回调的问题

编辑:rootadmin

推荐整理分享Fragment里onActivityResult()无回调的问题,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

最近工作,接手了项目,测试发现有一个bug,就是在Fragment中使用startActivityForResult(Intent intent,int requestcode) 方法调用其他activity,重写onActivityforResult方法,但是onActivityforResult并没有被调用。

这个问题的解决思路就是两个方面。

先从onActivityforResult入手,在方法第一句打印log,发现没有被执行,说明问题发生在这之前。

再从startActivityForResult入手,调用的Activity正确被调用,并且一直执行到setResult方法,查看responseCode也没有问题,说明不是被调用的Activity的问题。

那么问题就应该发生在startActivityForResult上了。

这是原来错误的写法,查看源码,fragment的getActivity方法返回了一个FragmentActivity的对象;

此时调用的是FragmentActivity的startActivityForResult方法。

问题就发生在这里。

正确的写法是直接在Fragment中使用Fragment的startActivityForResult方法。

Fragment里onActivityResult()无回调的问题

修改后正常调用了onActivityforResult。

查看Fragment.startActivityForResult()方法,源码如下:

也就是说在fragment中的调用顺序是:

1.Fragment.startActivityForResult()

2.FragmentActivity.startActivityFormFragment()

3.Activity.startActivityForResult()

而如果使用了getActivity()的调用顺序是:

1.FragmentAcitvity.startActivityForResult()

2.Activity.startActivityForResult()

这就是二者的区别,导致了onActivityResult()不能调用。

版权声明:本文为博主原创文章,未经博主允许不得转载。

[置顶] Android 动画实现-原来如此简单 Android动画相关基本知识可以参考:Android动画初步、Android动画TweenAnimation、Android动画FrameAnimation、Android属性动画(PropertyAnimation)、Android动画PropertyAnimat

[置顶] Android横向滑动导航菜单 1.效果图:2.项目地址:

android studio,gradle的问题 这一周在三个地方都分别安装了不同版本的androidstudio,导入相同的项目,都发生了build失败的问题。其中在A地修改的方法是降低了sdk版本;在B地采用的

标签: Fragment里onActivityResult()无回调的问题

本文链接地址:https://www.jiuchutong.com/biancheng/374347.html 转载请保留说明!

上一篇:java4Android(15)处理流的使用示例、装饰者设计模式、节点流和处理流的关系

下一篇:[置顶] Android 动画实现-原来如此简单([置顶]星陨计划)

  • 汇算清缴时纳税调整表调增金额是怎么算出来的
  • 收取境外服务费收入如何开票
  • 什么是抄报税成功
  • 退休职工能否扣医保
  • 公司筹建期间可以多久
  • 领用包装物的会计分录
  • 房地产土地使用权是无形资产吗
  • 简易征收的老项目是指什么时候
  • 企业所得税滞纳金从什么时候开始算
  • 担保人的损失
  • 差旅费包括哪些明细
  • 在建工程 费用
  • 业务协作费是什么
  • 公司向个人借入资金的风险
  • 支付的管理费用可以抵税吗
  • 营改增后房屋维修的发票可以抵扣吗?
  • 不动产证上宗地图名字错一个字
  • 国税局代开增值税专票要哪些资料?
  • 申报密码遗失怎么重置
  • 本年利润年末怎么结转到利润分配
  • 固定资产可以一次计入费用吗
  • 印花税资金账簿减免税优惠政策2021
  • 非全日制劳动用工扣税
  • 仓库的租赁费
  • 预付账款补付货款分录
  • 系统安装工具有什么用
  • 微信公众号开发php源码
  • 怎么获取免费的腾讯vip
  • PHP:session_encode()的用法_Session函数
  • 共用水电无法取水怎么办
  • 公积金贷款所需手续
  • php $_files
  • 电汇款项会计分录
  • 二手车交易如何开票
  • 怎么处理坏账准备的问题
  • 公司报销额度是什么意思
  • 车辆购置税发票图片
  • 红包生成算法
  • read命令 linux
  • 端午节发现金怎么说
  • 房租发票需要写备注吗
  • 发工资时代扣房贷怎么办
  • mysql版本5.5.x升级到5.6.x步骤分享
  • mongodb bi
  • 在境外提供的广播影视节目(作品)的播映服务征收增值税
  • 配电室增容验收标准
  • 数据库sql语句优化作用是什么
  • 空调维修费入办公费还是修理费
  • 上个月计提多了,这个月怎么办?
  • 发放职工薪酬计入什么科目
  • 城市维护建设税怎么算
  • 环境检测费账务处理
  • 汽车以租代售合法吗
  • 房地产成本的概念
  • 月末库存商品能抵税吗
  • 财政总预算会计的主体是
  • 本月没有销售怎么做账
  • 个体工商户纳税申抿
  • 留存收益属于什么会计要素
  • 解析视频
  • ubuntu20.04
  • distinct 多个
  • win10系统如何查看显卡配置
  • windows登录密码设置
  • win7系统安装程序无法创建新的系统分区
  • 宽带连接显示重拨
  • 关闭win7屏保
  • 845主板支持1t硬盘吗
  • youphone.exe是什么
  • cocos2djs
  • linux查找功能
  • jquery上传文件到服务器
  • 安卓手机管家app
  • 河北电子税务局社保缴费流程
  • 济南税务局电话是多少
  • 增值税纳税申报时间
  • 如何参与发票摇奖
  • 补充协议交印花税嘛
  • 如何查询甘肃省志愿录取状态
  • 非中山户籍学生可以自己买医保吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设