位置: 编程技术 - 正文

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

  • 支持疫情防控捐赠语言
  • 营业税金及附加怎么计提
  • 增值税先征后退会计处理
  • 库存现金冲销
  • 预缴企业所得税计税依据
  • 对外支付代扣代缴增值税
  • 出口退税正式申报撤销申请
  • 申报财务报表时应收和预收可以合并
  • 城市基础设施配套有哪些
  • 小规模纳税人农产品进项税抵扣
  • 建筑劳务公司业务范围是什么
  • 企业变更地址需要哪些资料
  • 专票金额和实际报销金额不符
  • 事业单位财政授权书模板
  • 扣服装费的收入如何交增值税?
  • 《外出经营活动税收管理证明》收购发票
  • 预提工程成本的会计分录
  • 在会计上主营业务利润和营业利润有什么区别?
  • 调整成本调整单分录
  • 增长率应该要如何计算呢?
  • 收据和发票有什么区别图片
  • 税务局代开发票需要什么资料
  • 递延收益摊销会计分录
  • 售后服务对客户满意度的影响论文
  • 什么叫做区分
  • 固定资产残值率可以为0吗
  • 主营业务成本是借方增加还是贷方增加
  • win服务器安装
  • 电脑自带网速测试
  • tersafe.dll
  • 在win7系统中安装win10
  • 内退人员
  • rtmservice.exe - rtmservice是什么进程 有什么用
  • 公司购买的大型安装设备什么时候转入固定资产
  • 结算劳务外包的工作内容
  • 卖出回购证券的钱怎么算
  • php数据导出到excel
  • 研发支出属于哪个表
  • web后端开发框架有哪些
  • 解决php程序运行问题
  • 2023前端面试题目
  • 个人出租房可开发票吗
  • 小规模纳税人如何开专票
  • 公司认缴的钱可以动吗
  • 交易性金融资产属于什么科目
  • 六税两费减半征收政策
  • 小规模纳税人防水工程专用发票税率是多少
  • sqlserver如何使用
  • 应交税费会计分录完整版
  • 应交增值税结转账务处理
  • 大家怎么看理想这个牌子
  • 应收账款周转率越大越好还是越小越好
  • 预付账款摊销会计分录
  • 商业养老保险有风险吗
  • 新开公司没有领失业金
  • 长期待摊费用可以摊销20年吗
  • sql注入是干嘛的
  • sqlserver存储过程声明变量
  • 使用sql查询
  • sql clean
  • mysql修改后立即查询
  • 如何解决win10系统安装不兼容驱动的问题
  • windows10bug严重
  • win7系统的磁盘管理在哪里,怎么打开
  • mac终端输入代码有什么影响
  • mac我的所有文件 删除
  • cpio压缩
  • win7系统命令大全
  • opengl纹理错误变成条纹
  • Unity3D游戏开发引擎
  • javascript 中的事件委托详解
  • JavaScript中的math.pi
  • 用shell脚本创建用户
  • 收藏一些不常用的图片
  • 钢材出口关税税率是多少
  • 上市公司的税务风险大吗
  • 南京市国家税务局官网
  • 江苏大丰属哪个市
  • 天津个人所得税电话咨询电话
  • 所得税汇算清缴退税税务局要来查账
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设