fragment嵌套viewpager嵌套fragment第二次加载数据不显示问题

2023-11-17

这几天做项目遇到一个问题,就是有这么一个页面是activity嵌套一个fragment1然后fragment1里放了一个viewpager,viewpager里放了几个fragment,本来只有这么一个页面,显示出来也没什么问题,现在加新需求,要求点击viewpager里的一个fragment里的按钮跳转到另一个fragment,新fragment按返回按钮返回盛放viewpager的fragment,这时就出现了viewpager里的fragment二次显示的时候数据没了,好吧,我这么说,可能有点抽象,我们看个动图来理解一下:



效果就和上图差不多吧,在网上看了不少资料一开始以为是viewpager的刷新问题,结果并不是,而是fragmentmanager的问题,当我们在创建viewpager的adapter的时候会给adapter传递一个fragmentmanager,而我们一般都会传递

getFragmentManager()
但是这个方法获取的是父容器的管理器,而我们的viewpager里的fragment显然不是直接处于父容器下,所以这里我们需要使用
getChildFragmentManager()
来获取子容器的管理器给adapter,这样就能解决问题了,同样看看效果图:



我把这个小demo上传到CSDN了,有兴趣可以自己试试,使用方法就是去MyFragment里分别注释两种创建adapter的方法,链接地址是:点击打开链接

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

fragment嵌套viewpager嵌套fragment第二次加载数据不显示问题 的相关文章

随机推荐

  • 数据可视化入门学习——Jupyter Notebook 和绘图有关的几个魔术指令

    数据可视化 Jupyter Notebook 和绘图有关的几个魔术指令 matplotlib inline 这是默认的模式 输出的图片是静态的 matplotlib auto 在这个模式下会弹出一个单独 的绘图窗口 和在pycharm中一样
  • MyBatis枚举映射类讨论

    前言 本篇需要对于MyBatis有一定的认识 而且只是针对于TypeHandler接口来讨论 暂不讨论其他方面的问题 TypeHandler概叙 TypeHandler是MyBatis设计的一个用于参数的接口 你们会不会很好奇MyBatis
  • 【error】 java.net.MalformedURLException: no protocol,未指定通信协议

    目录 1 报错信息 2 报错原因 3 处理方法 1 报错信息 在通过 IP 地址及端口号调用远程方法时 报错信息如下 java net MalformedURLException no protocol 由 no protocol 可知 系
  • 海凌科7621开发板适配新版openwrt

    最近在海凌科买了一块7621的开发板 flash是32M的 ddram是256M的 性价比感觉不错 海凌科提供的openwrt是比较旧的版本 在openwrt最新的19 07版本里已有的硬件都有一定的差距 因此修改一下相关配置 可以用ope
  • PHP如何使用循环语句?用法详细指南

    像任何其他语言一样 PHP中的循环用于多次执行一条语句或一段语句 直到满足特定条件为止 这有助于用户节省多次编写同一代码的时间和精力 PHP支持四种类型的循环技术 for循环 while循环 循环执行 foreach循环 现在让我们详细了解
  • 包装类自动装箱和拆箱原理

    包装类的自动装箱和自动拆箱 包装类的自动装箱和拆箱是JDK1 5的新特性 一 首先 了解自动装箱的过程 有两种自动装箱过程 第一种 128 127 之内 调用相应包装类的valueOf 例如 Integer i 12 Integer a 2
  • L2-016 愿天下有情人都是失散多年的兄妹 (25 分)

    题目 题目链接 题解 DFS 孩子向父母方向连边 将孩子视为根节点 首先判断输入两个人的性别 如果不同再分别以二者为起点进行dfs 前者五服之内的亲属都标记一下 以后者为起点dfs 如果遇到了标记的人 那么说明五服之内存在公共祖先 不可以结
  • extern C 在c/c++中的使用

    http blog csdn net jscese article details 37821961 1 问题定义 在研究操作系统源代码或者在嵌入式系统中编写程序时 经常会发现下面这种用法 cpp view plain copy print
  • 引入UnityEngine.dll中的巨坑

    正确路径 C Program Files Unity Editor Data Managed 此目录下只需引用UnityEngine dll就可以访问MonoBehaviour 其他路径 C Program Files Unity Edit
  • compose配置文件参数详解

    本文介绍compose配置文件参数的使用 熟练编写compose文件 root docker lnmp cat lnmp yaml version 3 services nginx build root docker demo nginx
  • js之forEach怎么跳出循环

    第一种 跳出此次循环 1 2 3 4 5 6 forEach e gt if e 2 return false console log e 第二种 中断循环 1 2 3 4 5 6 forEach e gt if e 2 throw 抛出异
  • Elasticsearch入门

    下载地址 Download Elasticsearch Elastic 浏览器查看启动情况 出现一下内容说明服务已启动 如果启动成功无法访问 打开如图文件 将xpack security enabled 和xpack security ht
  • 详解mybatis的配置setMapperLocations多个路径两种方法

    文章目录 一 配置文件方式 二 Javabean配置 前言 我们在平常工作中用到mybatis去加载Mapper xml文件 可能mapper文件放的路径不一样 由此我们需要配置多个路径 幸运的是Mybatis支持我们配置多个不同路径 现在
  • Systick_Handler B.卡死处理方法

    Systick Handler B 卡死处理方法 注 鄙人在学习国产GD32芯片和STM32芯片做嵌入式时候出现过单片机卡死在 s启动文件Systick Handler B 处 现做系列总结 文章目录 1 中断开启未处理 2 引入C C 代
  • CentOS7.5离线安装jdk1.8

    目录 前言 一 环境准备 1 1 CentOS的安装 1 2 安装前检查是否有残余JDK 二 安装配置JDK 2 1 安装 2 2 修改配置文件 2 3 修改文件夹名称和脚本对应上 正常不需要操作 该步骤是方便以后部署使用脚本 前言 由于每
  • k8s笔记25--k8s 跨主机网络flannel

    k8s笔记25 k8s 跨主机网络flannel 简介 不同机器上网络设备区别 flannel 网络常见三大后端模式 UDP VXLAN host gw 如何查看集群用哪种网络模式 阿里云flannel容器网络 alloc 参考文档 简介
  • 解决IDEA中:Error running Tomcat8: Address localhost:1099 is already in use

    今天在运行Web项目的时候 突然运行不起来 最后报Error running Tomcat8 Address localhost 1099 is already in use 从而致web项目无法运行 看了一下原来是1099端口被占用 解决
  • PyTorch3D 安装记录

    1 PyTorch 安装 PyTorch 官网 PyTorch 官网 最新版本的 PyTorch 最新版本的 PyTorch 以 cuda 11 3 Python 3 9 Pytorch 1 12 1 为例 conda 安装 conda i
  • 端口重复处理

    不废话上代码之 端口重复处理 Description Web server failed to start Port 8080 was already in use Action Identify and stop the process
  • fragment嵌套viewpager嵌套fragment第二次加载数据不显示问题

    这几天做项目遇到一个问题 就是有这么一个页面是activity嵌套一个fragment1然后fragment1里放了一个viewpager viewpager里放了几个fragment 本来只有这么一个页面 显示出来也没什么问题 现在加新需