Android Fragment跳转Activity使用startActivityForResult获取返回值

news/2024/11/25 9:39:11/

前言

Fragment跳转Activity使用startActivityForResult获取返回值
如果直接获取是获取不到结果的

需要在fragment所属的activity中遍历

    @Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);//遍历调用onActivityResultfor (Fragment fragment : getSupportFragmentManager().getFragments()) {fragment.onActivityResult(requestCode, resultCode, data);}}

然后在fragmen中再调用

    @Overridepublic void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);Log.e("TAG", "1111111111111");}

打印结果证实

3

注意

这里还有一个很严重的坑没有提及,及父Activity的启动模式会对Fragment的onActivityResult的回调有影响。我测试发现当父Activity的启动模式设置为 SingleInstance 是完全阻塞了Fragment的onActivityResult回调,如果设置为 SingleTask 好像也有影响。

比如fragment启动相册选择图片回来就只能走activity的onActivityResult


http://www.ppmy.cn/news/341558.html

相关文章

LC-1483. 树节点的第 K 个祖先(树上倍增算法)

1483. 树节点的第 K 个祖先 难度困难134 给你一棵树,树上有 n 个节点,按从 0 到 n-1 编号。树以父节点数组的形式给出,其中 parent[i] 是节点 i 的父节点。树的根节点是编号为 0 的节点。 树节点的第 k 个祖先节点是从该节点到根节点路径上…

java中FileReader缓冲数组用法(一次读取多个字符)

package com.test.io01;import java.io.File; import java.io.FileReader; import java.io.IOException;public class Test02 {public static void main(String[] args) throws IOException {//文件--->程序//1.有一个文件:--->创建一个File类的对象//Test.txt这个文件必…

PB技巧3例(如何获取当前的工作路径、将已经建好的Grid类型转为Tabular类型、右键弹出菜单的编程)

PB技巧3例(如何获取当前的工作路径、将已经建好的Grid类型转为Tabular类型、右键弹出菜单的编程): 1、PB如何获取当前的工作路径 当前程序的运行路径是比较重要的一项,开发应用软件时需要注意,程序要根据用户的安装情况自己检测当前的路径。所以,获取当前路径是应用程序…

pm2原理与使用

目录 pm2是什么以及好处 原理 Node Cluster pm2工作流程 常用命令 安装 启动进程 查看进程 重启/删除 日志 pm2是什么以及好处 pm2是一个内建了负载均衡器的node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如自动监控进程状态…

面向对象的介绍和内存

学习面向对象内容的三条主线 • Java 类及类的成员:(重点)属性、方法、构造器;(熟悉)代码块、内部类 • 面向对象的特征:封装、继承、多态、(抽象) • 其他关键字的使用…

路由器WiFi密码怎么设置?这样做可以快速设置!

案例:我在外面租房,买了一个路由器,为了不让别人使用,我想设置一个密码。但我不知道如何操作。路由器怎么设置密码?求方法分享! 如今,Wi-Fi已成为日常生活中不可或缺的一部分。为了保障个人和家…

i5 10400核显什么水平

i5 10400集成的是HD630核芯显卡,大致相当于GT730的水平。 i5 10400组装电脑怎么搭配更合适这些点很重要看过你就懂了 http://www.adiannao.cn/du i5 10400采用14nm制程工du艺,6核心12线程没跑,L3缓存zhi有所升级,来到了12MB&…

r74800h和i59400h哪个好

锐龙8核R7-4800H处理器,8核16线程,基础频率2.9GHz,睿频最高4.2GHz,Zen 2架构,7纳米制程工艺,12MB的三级缓存,45W的热设计功耗(TDP),可以保证性能释放强劲 选锐龙r74800h还是i5 9400h…