位置: 编程技术 - 正文

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

  • 主营业务税金及附加大概比例
  • 种植农作物补贴
  • 税务等级低有什么影响
  • 发票一年不能开超多少才不扣税费
  • 签章是签字还是盖章z还是手印
  • 小规模免征增值税额度2022
  • 个体户自有厂房怎么申请
  • 运输业务增值税
  • 物业公司预收款怎么做账
  • 以旧换新如何确认收入
  • 专项维修资金的,由县级
  • 把扣款挂到其它应收款的会计分录怎么做?
  • 代驾服务可以开具增值税专用发票吗
  • 有票据的福利费是不需要职工薪酬科目过渡吗
  • 境外企业提供软件使用权给境内企业
  • 年终奖和当月工资合并申报税
  • 企业劳务发票怎么开,税率是多少
  • 分公司注销所得税
  • 税号都对开户行错了影响抵扣
  • 按简易办法征收增值税
  • 财政返还额度会计分录
  • 领用原材料业务
  • 应收账款怎么登账
  • 红蘑菇是什么松树伞吗
  • 苹果a1586是什么配置
  • 退回多缴所得税做贷方本期发生额没有
  • 赖格宝视频
  • 企业接受外单位投入的材料一批,应编制()
  • 二连浩特老照片
  • 离职赔偿金计入什么费用
  • 库存股属于什么会计科目
  • Php结合wordpress开发,需要学会什么
  • 收到转账怎么写分录
  • javascript导入包
  • 自然人税收管理系统
  • shell和pycharm
  • 非一般纳税人怎么报税
  • 进项大于销项怎么办
  • 一般纳税人补交印花税买卖合同
  • 委托贷款利息收入
  • mysql表设计原则
  • 土地增值税预缴计税依据
  • 购买财务软件怎么做凭证
  • 进项税和销项税月末怎么结转
  • 个体工商户不缴纳印花税吗
  • 农场有多少只鸡
  • 充值优惠怎么写
  • 员工成本价购买公司商品 税屋
  • 以前年度损益调整
  • 国外工程合同类型
  • 转出的未交增值税转到应交增值税
  • 固定资产相同的物品可以合并嘛
  • 实收资本调账怎么调
  • 新办企业必须经过什么核准登记
  • windows8crazy error
  • solaris syslog
  • win10屏幕显示
  • 启动mac问号文件夹闪烁怎么办
  • ubuntu14.04挂载硬盘
  • linux运维是必死之路
  • win7升win8要钱吗
  • win10 win+l
  • 基于bootstrap的毕业设计
  • bootstrap下拉框设置默认值
  • honey contil
  • shell脚本spawn
  • javascript入门基础
  • 如何获得select选中的值
  • jquery树形菜单
  • android ashmem
  • python中读取文件
  • JavaScript中的this指向
  • javascriptwhile
  • 怎么监控键盘输入
  • python中的条件判断和循环语句
  • javascript定律
  • canvas+javascript
  • jquery示例
  • 医院黄票可以报销吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设