位置: 编程技术 - 正文

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

  • 公司去社保局开什么发票
  • 小微企业应纳税所得额怎么计算
  • 更正申报多交的个税
  • 货物运输代理服务
  • 法人分配利润分录
  • 收到去年的成本发票
  • 失业社保补助金领取条件
  • 公司付给职工的工资
  • 税务管理相关知识
  • 企业所得税营业成本包括管理费用吗
  • 注销时分公司欠款怎么办
  • 购销合同的会计分录怎么写
  • 简易计税视同销售如何处理?
  • 计提福利费用会计分录
  • 哪些行业需要缴纳水利建设基金
  • 销售商品发生的业务招待费计入什么科目
  • 冲减材料成本
  • 电脑中了勒索病毒要报警吗
  • 企业广告费的会计处理方法研究
  • 职工教育经费是工资总额的多少
  • 不是公司员工差评怎么写
  • 公司之间可以借款吗怎么做账
  • 会计凭证丢失补违规么
  • 交易性金融资产入账价值怎么计算
  • 购入研发设备
  • 房地产企业出售土地交什么税
  • php splqueue
  • 最薄的平板电脑是哪种
  • php函数式编程
  • 会计上社保的分录是什么
  • redis 缓存框架
  • 盒子模型的概念
  • linux写c++程序
  • 企业账户有什么好处
  • 多线程并发python
  • 其他发票是什么意思
  • 公司买东西了怎么做账
  • 融资租赁业务的程序主要有
  • phpcms使用教程
  • RedHat6.5/CentOS6.5安装Mysql5.7.20的教程详解
  • 免税蔬菜交企业所得税吗
  • 公司车转个人名下车牌需要换吗
  • 企业所得税报表查询怎么查
  • mysql 中文乱码 识别
  • 保险公司代扣的车船使用税分录
  • 结转产品成本怎么算
  • 社会团体费用支出有什么要求
  • 应收账款坏账计入资产减值损失还是信用减值损失
  • 材料自产自销的会计科目
  • 实收资本印花税属于什么税目
  • 红字冲红什么意思
  • 开票操作流程是什么
  • 收到进项发票不认证抵扣的会计分录
  • 坏账准备纳税调增吗
  • 企业建账流程图
  • 固定资产公司
  • sql函数使用
  • 多人共用一台电脑,如何保密
  • winxp系统笔记本电脑如何开启无线网络
  • win7系统不能用了?
  • Win7系统启动密码
  • windows8任务栏在下面怎么不显示
  • win7如何获取管理员密码
  • win8系统打开浏览器
  • 如何升级win10专业版
  • <Unity3D>Unity3D GUI控件
  • 用滑动门技术设计一幅画
  • node的使用场景
  • python简明
  • JavaScript中的变量名不区分大小写
  • 常用python编程软件
  • jquery实现ajax提交表单信息的简单方法(推荐)
  • 轻松实现js图片识别
  • 长途客运手撕票能不能报销
  • 电子税务局如何申报社保
  • 怎么知道税控盘有没有注销
  • 工会经费征收范围规定
  • 税务总局转变税收征管方式
  • 古代税收和现代税收
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设