位置: 编程技术 - 正文

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

  • 政府补助利得要交企业所得税吗怎么算
  • 所得税的会计分录有哪些
  • 当月销售下月开票如何做账分录
  • 领用本企业生产的水泥用于在建工程
  • 软件和硬件可以用什么代名词
  • 新企业需要结转增值税吗
  • 变更税务登记证需要提供哪些材料
  • 法定预算调整的范围
  • 保证金抵扣货款分录
  • 代别的公司付款怎么做账
  • 企业个人完税证明怎么开
  • 企业发生的销售折让
  • 预缴的企业所得税可以税前扣除吗
  • 劳务分包发票税率是多少2020
  • 无形资产摊销算头不算尾
  • 固态硬盘坏了的话是整个坏吗
  • 工厂的绿化费进项税额
  • 一般纳税人车辆过户给个人开票几个点
  • 自来水公司的水压力是多少
  • 证券的投资
  • 会计月末做账
  • 双线服务器
  • 2020香港回归23年
  • php运用的技术php开发有哪些实用的技术
  • 企业退货产生的损失谁承担
  • 进货后退货的会计处理
  • 应纳税所得额的意思
  • css样式修改
  • python 命令行参数解析
  • 真题解析买谁的
  • vue3 响应式ui框架
  • 应交税费的主要成本
  • 汇算清缴所得税是什么意思
  • 无形资产商标权摊销
  • 研发样品收入的最新规定
  • 一般纳税人都是按月申报吗
  • 以前年度损益调整会计分录
  • 政府补助的相关法律法规
  • 计提贷款准备金公式
  • 公司注销之前需要做些什么
  • 应收账款的账龄怎么分析
  • 金税盘全额抵扣申报表怎么填
  • 车间费用计入什么
  • 坏账准备的会计处理方法
  • 域名 续费
  • 怎么做好流水账
  • 税控盘减免税款分录
  • 固定资产累计折旧会计科目
  • 汽车销售公司办理贷款重点调查哪些
  • 报销发票金额大于付款金额
  • 收到厂家返利账务处理
  • 没有取得增值税发票
  • 公司购买的打印机附赠给客户进项税可以抵扣吗
  • 盘亏应该怎么处理
  • 公认会计原则是哪个国家的?
  • mysql启动服务器失败
  • freebsd使用
  • dropbox windows
  • 电脑xp系统虚拟内存不足怎么解决
  • win7 windows安全
  • 64位win7安装kb3038314补丁更新失败临时解决方法
  • win8.1核心版密钥
  • win10禁止显卡驱动自动安装
  • cocos2dx 2.2.2
  • 关于session的用法哪些是错误的
  • Android游戏开发读后感
  • tensorflow.nn
  • 浅谈双减背景下的高效课堂
  • 天干地支在择时中的应用初探
  • python xml文件转化为excel
  • 利用js脚本模拟鼠标点击事件
  • javascript可以制作哪些游戏?
  • 如何处理女寝关系
  • unity study
  • 《JavaScript高级程序设计》pdf链接
  • jquery获取文件大小
  • js 上下文
  • 税控盘如何分配发票
  • 税务局发票邮寄需要多久
  • 广东地税服务电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设