位置: 编程技术 - 正文

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

  • 纳税申报时间和报税时间是什么区别
  • 什么是存货周转率?存货周转率的意义是什么
  • 个人独资企业需要交什么税
  • 对公账户的钱都是国有资产吗
  • 库存商品属于资产类会计科目吗
  • 增值税科目年末结转可以吗
  • 没有购置税发票有影响吗
  • 工程项目结算方式有哪几种
  • 工程咨询服务发展指导意见坚持市场培优的原则
  • 自产的不同产品有哪些
  • 税负率过低进行什么交易
  • 施工企业仪器设备入什么会计科目核算?
  • 海关进口增值税专用缴款书是发票吗
  • 个税手续费返还会计分录
  • 设备维保费税率怎么算
  • 房产继承税征收标准是多少
  • 未分配利润转增股本 个人所得税
  • 代开专票地税附加税申报办法
  • 如何办理临时经营纳税人设立登记
  • 回购股票手续费会计分录
  • 服务业发票进项税怎么做凭证?
  • 启动器
  • commandlineoptionsyntaxerror翻译详情
  • 微软输入法中文输入卡顿
  • 在win7系统中文件属性有哪些
  • 财务费用明细科目有哪些
  • windows7增加桌面
  • 购买办公用品怎么做明细账
  • 不得税前扣除的项目有哪些
  • 长期股权投资成本法收回投资
  • 浅谈php的排列组合
  • php网站能实现什么效果
  • vue的foreach循环
  • php访问数据库的一般步骤
  • web核心的三个标准
  • mkdir命令怎么用
  • 开具红字发票资料清单
  • 如何查询上年企业所得税
  • python项目开发案例集锦pdf百度网盘
  • 年终奖税金怎么扣
  • 企业无票支出该怎么做账
  • 外企可以申请高新技术
  • 银行提供资金来源
  • 所得税汇算清缴怎么操作
  • 租赁公司账务科目
  • 认缴资金可以增加吗
  • 个税和社保基数不一致怎么办
  • 汇算清缴退款如何做账
  • 新成立公司季初资产总额是填1
  • 摊余成本计入哪里
  • 建账需要买哪些会计用品
  • windows安装mysql5.7详细步骤
  • Windows Server 2003将于7月14日停服 想用收费
  • winxp出现应用程序错误
  • freebsd版本选择
  • linux命令find用法
  • win7系统自动更新在哪里关闭啊
  • gnaupdaemon.exe是什么
  • win8尝试修复
  • win8系统远程桌面在哪里
  • win8电脑设置打不开怎么办
  • windows10不能在任务栏进行的操作
  • Win7中TrustedInstaller.exe进程占用内存高该怎么解决?
  • dos命令检测硬盘坏道
  • javascript html5摇一摇功能的实现
  • Node.js中的什么模块是用于处理文件和目录的
  • Node.js中的包管理工具是什么
  • css-div
  • android新手入门
  • node的使用场景
  • android 启动器 设置
  • centos6升级到centos8
  • shell 读取
  • unity的shader用法
  • javascript indexOf方法、lastIndexOf 方法和substring 方法
  • python的cumprod
  • js中substring和substr有区别吗
  • js使用类
  • 办理出口退税需要销售合同吗
  • 国家税务贵州省税务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设