位置: 编程技术 - 正文

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

  • 小型微利企业所得税率
  • 半成品可以计入成本吗
  • 承销债券收取的承销费属于什么收入
  • 办公费专票怎么做账
  • 服装公司的吊牌是什么
  • 发票没交税可以退税吗
  • 公司销售固定资产汽车如何填申报表
  • 工程类发票项目分类
  • 收到政府土地收回的短信
  • 股份支付费用的会计处理怎么做?
  • 多付的货款怎么追回
  • 原材料做成库存会计分录
  • 收到费用怎么写分录
  • 公司取得增值税怎么算
  • 营改增后发票报销管理规定是怎样的?
  • 沥青混凝土增值税风险
  • 装卸增值税税率最新的
  • 对外工程承包企业
  • 运费发票备注栏样板
  • 建安企业增值税税率是多少
  • 进项税额转出再转入
  • 固定资产清查怎么开展
  • 兼职人员的工资怎么做账
  • 企业社保缴费工资
  • linux默认文件类型
  • 在win7系统中如何让电脑恢复出厂设置方法
  • 利息收入和利息费用的区别
  • 长期闲置的机器叫什么
  • php oci
  • 投资企业流程
  • 主板BIOS无法更改显存
  • jquery编程
  • php异步处理方案
  • 长期借款利息调整会计分录
  • 精确控制 英文
  • 前端如何适配移动端
  • AttributeError: cannot assign module before Module.__init__() call
  • 机关事业单位以外包服务方式长期用工
  • dedecms安装步骤
  • 收到退回的企业所得税分录
  • 公司应知应会的内容是什么
  • 长期待摊费用的摊销期限应该是
  • 数据库用户名称
  • 公司财务报表中不设其他综合收益项目可以吗
  • 印花税减免税优惠政策2019
  • 寄售商店代销寄售物品的税率
  • 开票方未缴税,为何要追回付款方的退税款
  • 公司购买的空调
  • 转入企业银行存款利息分录
  • 安保公司差额征税开具发票
  • 工业企业出售产品应交的消费税额,应计入营业成本
  • 销售折让如何核算
  • 印花税退还
  • 支付宝如何支付医保费用
  • 试制流程
  • 收到保险公司的赔款计入什么科目
  • 总账设置包括哪些内容
  • win8不好吗
  • freebsd常用命令
  • window10虚拟系统
  • 苹果mac有啥用
  • 安装空调
  • 如何把win7系统复制到u盘里
  • win8页面
  • cocos2dx环境搭建
  • cocos creator开发文档
  • 一个项目引多个项目
  • perl文件操作
  • unity开发安卓游戏教程
  • unity2018地形
  • 计算机中丢失opencv_core249.dll
  • js调用wsdl接口
  • jq拖拽功能
  • node stream(流)有哪些?
  • jquery过滤选择器案例
  • 基于javascript的毕业设计
  • jQuery判断checkbox选中状态
  • 不含税价是除以1.13还是乘以0.87
  • 普通发票红冲税务规定
  • 越南进口废塑料新政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设