位置: 编程技术 - 正文

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

  • 投资收益纳税调整明细表怎么填
  • 应交税费是什么类
  • 公司现金账户归谁管
  • 机械租赁属于什么分类
  • 建材公司小规模纳税人税率
  • 开发票是否享受优惠政策
  • 投入实收资本需要缴纳什么税
  • 混合经营销售额合并计算还是分开计算
  • 长期股权投资会计处理方法,对投资方报表有何影响
  • 返利平台可信吗
  • 固定资产原值增加当月计提折旧吗
  • 发票专用章管理办法
  • 小规模收到货运专用发票
  • 递延年金现值计算公式解释
  • 三免三减半税收优惠政策文件
  • 进项税额转出的会计分录
  • 无形资产有使用期限
  • 初级会计备课指点
  • 笔记本恢复出厂设置后和新的一样吗
  • 如何让游戏速度加快
  • 在win7中,如何创建一个TXT文件
  • 跨年的定额发票可以用吗
  • PHP:session_register()的用法_Session函数
  • 房地产企业土地使用税计算方法
  • PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
  • 预缴季度企业所得税分录
  • echarts-gl
  • 如何成功安装暗区突围
  • 路由加载的几种方式
  • 什么是免抵调库税额
  • 管理费用包括哪些部门的工资
  • 入库税款异常是啥意思
  • 出租改自用房产税
  • 企业对外担保代偿能否税前扣除 税务局
  • 小规模纳税人无票收入怎么申报
  • 未开票交税怎么做账
  • centos上安装vscode
  • 税率的确定和什么因素有关
  • 固定资产加速折旧计算方法
  • 本年利润的会计分录怎么做
  • 利润表中利息费用包括手续费吗
  • 原材料的采购成本包括哪些
  • 代理进口货物如何确定增值税纳税人
  • 长期股权投资的账务处理
  • 中小企业的资产负债率均值是多少
  • 一般账户的网银操作员变更怎么办理
  • 员工工资计入成本怎么做账
  • 零余额账户银行日记账
  • 弥补以前年度亏损怎么算
  • 普通发票作废如何恢复
  • 固定资产报废属于非流动资产处置损失吗
  • 旅游业最新增值税政策
  • 土地增值税计算题
  • 财务费用包括哪些费用
  • 如何安装win2000
  • mac更换软件图标
  • xp系统怎么添加ip地址
  • ubuntu系统电脑开机键盘亮 屏幕不亮
  • sqlmangr.exe - sqlmangr是什么进程 有什么用
  • 你需要windows7sp1才能安装ie11
  • win8安装应用商店
  • windows8优化
  • Win10 Mobile Build 14327上手视频评测
  • three.js官方文档
  • js类的实现
  • main报错
  • 绘制多边形工具使用方法
  • 猫的所有视频
  • W3C Group的JavaScript1.8 新特性介绍
  • shape form的区别
  • 今天百度汉语
  • python继承的主要目的
  • js数组操作的常用方法有哪些
  • python3 split()
  • 高速发票查询平台官网
  • 增值税纳税申报表附列资料(一)
  • 电子税务局无法导出申报表
  • 2021广东农村医保多少钱一年
  • 处理报废固定资产
  • 年报基础数据怎么查
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设