位置: 编程技术 - 正文

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

  • 酒类的包装物押金可以单独核算吗
  • 计提社保公积金的会计分录
  • 建筑业营改增的主要内容
  • 个税全年一次性奖金单独计税
  • 资本回收系数怎么求
  • 季度流动比率怎么算
  • 丢失发票已报税证明单取消
  • 公司缴纳工会经费会计分录怎么写
  • 酒店住宿可以开免税发票吗?
  • 税务需要申报吗
  • 已抵扣的增值税怎么做账
  • 分公司转总公司款分录
  • 红包营销活动方案
  • 税务代理有哪些岗位
  • 外经证过期没报验
  • 销售的增长率公式是什么
  • 汇兑损益计算例题
  • 征信证明怎么开啊
  • 小规模适用税率
  • 苹果手机上显示LTE是什么意思
  • 鸿蒙os程序
  • win7系统怎样
  • 运输费计入什么会计科目?
  • 兼职属于劳动关系还是雇佣
  • 缴纳公积金个人没有扣款怎么回事
  • 向境外股东分配利润代扣代缴企业所得税
  • 以固定资产换入无形资产
  • 红利所得的税法规定
  • php识别中文
  • 建筑装饰工程公司取名
  • 销售自行开发的房地产
  • 城市赚钱项目
  • 纽格尔官网
  • laravel auth:api
  • springbootssm
  • 教育经费地方出多少
  • 黄石国家公园的占地面积
  • 购买办公用品入库如何做账务处理
  • 基于Python的图书馆信息管理系统研发
  • python 二值化
  • 企业成本核算应遵循
  • etc电子发票需要多久才能开
  • 本期应纳税额减征额是什么意思
  • 织梦cms官网
  • 企业收购合并中土地问题
  • 食堂买菜是什么费用
  • 预提费用增加在借方还是贷方
  • sqlserver完整备份
  • 工会经费怎样使用
  • 设计公司发生的设计费怎么入账
  • 员工缴纳工伤保险怎么赔偿
  • 公司代缴社保如何查询
  • 跨年度发票的报表怎么填
  • 销售未开票怎么做分录
  • 挂靠被查出来后挂靠费怎么处理?
  • 去税局购买税盘要注意什么
  • 外派人员房租
  • 待摊费用属于流动负债吗
  • win7系统IE浏览器打开跳转到360浏览器,怎么阻止
  • win7命令提示符
  • win10控制面板中没有防火墙
  • win10系统更新后无法开机
  • netcfg -d
  • 安装windows 8.1
  • noads.exe - noads是什么进程 有什么用
  • kpupgrader.exe是什么
  • Linux系统中矢量图ai格式怎么打开?
  • iis的安全性设置主要包括
  • linux shell截取字符串
  • 用unity做2d游戏
  • 使用scp获取远程linux服务器上的文件 linux远程拷贝文件
  • vue组件生命周期执行顺序
  • 如何得到pull解析器?
  • SendTo增强版 批处理实用小工具
  • shell脚本clear
  • javascript总结笔记
  • 安卓手机管家下载
  • 广东税务个人账号注销后会怎样
  • 杭州注册公司需要钱吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设