位置: 编程技术 - 正文

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 动画实现-原来如此简单([置顶]星陨计划)

  • 递延所得税资产会计处理全过程
  • 工业企业应缴纳的税金有哪些
  • 市政绿化工程的施工方案
  • 辞退员工补偿金是按实发工资算还是应发
  • 快递费专票可以报销吗
  • 未核定印花税
  • 应收退货成本会计科目代码
  • 合伙企业注销流程图
  • 加油站的成品油许可证变更过后有什么风险
  • 固定资产抵扣期限
  • 建筑图纸设计费包括晒图费吗
  • 钉钉报销费用明细怎么写
  • 企业外购的房屋建筑物是否属于非房地产企业
  • 公司报销学费属于 薪酬还是福利呢
  • 销项负数发票怎么冲减成本
  • 汽车修理厂可以安装车牌吗
  • 房地产公司的广告语
  • 广告公司认定一般多少钱
  • 股东与公司之间是什么关系
  • 购买土地建厂房还要交土地使用费吗
  • 交纳经营所得的个税怎么做分录?
  • 服务类的公司有哪些
  • 简易办法计税销售额如何填写
  • 我想看一下这个月几日
  • 华为鸿蒙怎么打开5g
  • 只有发票没有银行客户专用回单是啥意思
  • 差旅费的会计处理
  • mac的日历
  • 服务业公司取得的成果
  • avgorange是什么文件夹可以删除吗
  • 新成立股份有限公司股本构成
  • 硬盘跳线设置
  • 电竞显示器怎么调整参数
  • php-fig
  • 纳税人解除劳动合同证明
  • uniapp传值
  • 销售折扣属于什么项目
  • 基于Laravel5.4实现多字段登录功能方法示例
  • 古罗马广场意大利
  • 基于springboot的毕设
  • 做了几年前端基础还是很差
  • 10倍理论
  • 二季度平均薪酬
  • 注册资本增加了怎么做账
  • 长期股权投资印花税计入什么科目
  • 交上年企业所得税多少
  • 应付账款和应收账款的关系
  • db2数据库性能调整和优化
  • 开票服务名称可以自己添加吗
  • 免税不能抵扣
  • 库存商品和固定资产是单位会计资产核算的两项内容
  • 独立核算的分公司可以享受六税两费减半吗
  • 税费损失
  • 现金折让的账务处理
  • 交易性金融资产属于流动资产
  • 研发支出放在报表哪里
  • 今年缴纳上年的税收滞纳金
  • 收到劳务费发票如何申报个税
  • 外商投资企业清算资金汇出环节,银行
  • 公司与公司之间劳务协议
  • 新买的车没有牌能上路吗
  • 5000以下的固定资产一次性计入费用
  • 企业营改增后的会计处理有何变化
  • mysql 5.7.17 winx64安装配置教程
  • bios关闭光驱设置
  • 注册表的使用
  • dl是什么文件
  • 加强 提升 优化
  • linux命令文件移动并改名
  • win8如何隐藏任务栏
  • win7怎么操作
  • win7系统开机黑屏只有鼠标且打不开任务管理器
  • vue 瀑布流
  • 交互式shell是什么意思
  • jqueryw3c
  • python 字典的字典
  • bootstrap要学到什么程度
  • 车辆购置税查询电话
  • 点击正式申报前怎么操作
  • 国家税务总局查询发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设