位置: 编程技术 - 正文

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

  • 制造业做贸易出口可以退税吗
  • 增值税的免税项目有哪些
  • 购买车间使用的设备计入什么
  • 合并两公司的帐务怎么做
  • 金蝶财务软件固定资产模块固定资产调拨
  • 工业企业库存商品的初始入账成本
  • 卖自用轿车要缴什么税
  • 作为福利手段福利概念的三个条件是
  • 支付给对方的押金
  • 公司账户没有钱怎么办
  • 事业单位购入存货分录
  • 公司购买住宅可以分期付款吗
  • 工资表中有哪些项目
  • 职工因公出差伙食补助标准
  • 工程决算条件
  • 累计折旧的计提和处理的分录
  • mac系统怎么设置字体大小
  • 多提的费用如何做冲减分录
  • 单位公积金对账单
  • 360tray.exe损坏文件怎么修复
  • php实现基数排序函数
  • 手把手教你linux
  • ipv6无网络访问权限怎么解决
  • php
  • 腾达ac9路由器怎么样
  • 员工交通补贴需要发票吗
  • 尚融宝盈(宁波)投资中心(有限合伙)
  • 销售提成属于什么费用
  • input 文件
  • php使用自定义函数编程求半径r的圆的周长和面积
  • yolo算法python代码
  • 新政府会计制度固定资产核算
  • thinkphp excel
  • 原生ajax和axios的区别
  • 申报表中的免税销售额是收入吗
  • 跟踪数据包命令
  • phpcms怎么用
  • 小规模纳税人每月不超过10万
  • 公司还款给个人怎么操作
  • python缺省函数
  • 上市公司收购其它公司是好是坏
  • 企业开办期间账务处理
  • 路桥费税率是几个点
  • 原材料报废收入账务处理
  • 利润分配未分配利润期末有余额吗
  • 长期股权投资与其他权益工具投资的区别
  • 赊销应收款余额怎么算
  • 收入费用会计分录
  • 冲去年管理费用
  • 上月未抵扣完的进项税额分录
  • 股东以货币出资的 应当将货币足额存入
  • 固定资产更换配件 资本化标准
  • 小规模纳税人开票限额是多少
  • 民间非营利组织会计制度及操作实务
  • 工程物资属于存货还是固定资产
  • 屠宰税属于什么税
  • mysqld mysql
  • sql语句编译执行过程
  • SQL Server的通用分页存储过程 未使用游标,速度更快!
  • 老生常谈啥意思
  • 设置centos时区修改时间的方法
  • centos基础命令
  • linux常用命令查看
  • win7系统无法共享win10系统打印机
  • win7右键没有
  • Win7如何开启蓝牙
  • oem预装系统
  • unity3d ide
  • opengl版本太低怎么升级
  • js入门基础
  • Cocos2dx -lua QuickXDev拓展
  • jQuery插件能输出到控制台
  • python mem
  • First class: UI design for Android
  • 湖北税务发票真伪查询网
  • 个体非正常户怎么解除
  • 进出口贸易产品种类
  • 2023年四川城乡居民养老保险多少钱
  • 酒店业需要缴纳哪些税
  • 免税关口
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设