位置: 编程技术 - 正文

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

  • 成本利润率和销售利润率哪个大
  • 纳税申报操作视频
  • 增值税销项税额账务处理
  • 公司注册资本认缴
  • 利润表的税金及附加是计提数还是实缴数
  • 企业之间借款利息进项税可以抵扣吗
  • 残保金属于税种吗
  • 个税申报收入额怎么填
  • 物业公司是小规模纳税人税率是多少
  • 汽车折旧年份
  • 部分预收账款会计科目
  • 营改增后企业取得的不动产可以抵扣进项
  • 出口贸易没有进口贸易
  • 一个公司可以有几个公章
  • 从公司账户取现金
  • 卖桶装水税率
  • 工会没有税号怎么开普票
  • 工会经费的计税依据怎么算
  • 超市买的东西开什么发票
  • 劳务派遣差额征税税率是多少
  • 汽车发票金额怎么算
  • 银行票据都有哪些
  • 发票认证的三种方式
  • 退还工会经费会退回吗
  • 找不到powershell.exe文件
  • 最新版小企业会计准则是哪一年的
  • 抵押房产可以买卖吗
  • 代销返利业务会计处理
  • touch id反应慢
  • 个人销售自己使用过的物品免征增值税
  • 股东的车辆保险费可在公司报销?
  • 农产品进项税额转出怎么算
  • cpqinet.exe是什么进程 安全吗 cpqinet进程安全性评估
  • 玉兰种院子什么方位
  • 为什么法律不允许安乐死
  • 基于transformer的文本分类
  • php常用设计模式有哪些
  • 企业低值易耗品有哪些
  • pytorch_lightning.utilities.exceptions.MisconfigurationException: You requested GPUs: [1] But...
  • 所得税分配表分录怎么写
  • 当月缴纳上月未缴纳社保
  • yolo v5超详细解析
  • 浅谈如何培养孩子的注意力
  • ai的工具介绍
  • 为什么说网络安全靠人民
  • 旅行社差额征税政策
  • 报关单运费cny
  • 职工教育经费年底要冲回吗
  • 小规模资产负债表怎么填写
  • 企业收到银行未收到怎么做账
  • python线程间通信的几种方法
  • mongodb索引存储方式
  • 自然人代开经营所得汇算清缴怎么做
  • 现金周期和经营周期的计算公式
  • 购买的机械设备算固定资产吗
  • 一般纳税人开普票要交税几点
  • 销售返利如何做会计分录
  • 购买汽车的工本费如何入账
  • 利润分配明细科目有哪些
  • 新公司几个月不报税
  • 简易计税项目可以抵扣进项税吗?
  • 没有开票的收入要交增值税吗
  • mysql8.0创建函数
  • window磁铁
  • win10系统不能打印图片
  • win8最新版本
  • 经典璧纸
  • centos中如何查看ip地址
  • windows开机显示正在清理
  • mac itunes
  • win8 自动登录
  • 如何在win7上打开win10软件
  • win8系统怎么设置
  • perl写文件
  • node.js中的http.response.write方法使用说明
  • linux重定位命令
  • js实现组件功能
  • jQuery轻松实现表格的隔行变色和点击行变色的实例代码
  • 国家个税app讨要工资流程怎么操作
  • 在网上如何查询车辆违章
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设