巨坑:嵌套Fragment,外层使用replace进行切换,造成内层Fragment被回收、显示空白

2023-05-16

前言

         Fragment切换方法有两种:add和replace方式切换,其中add方法切换不会重新创建Fragment,而replace方式则会重新创建Fragment。

      这也就意味着replace方式在从Fragment_1切换到Fragment_2时,Fragment_1会执行onDestroy()和onDetach()方法。

      此时,如果Fragment_1中包含数个子subFragment,使用replace切换到Fragment_2,内层的subFragment会被回收,显示未空白,原有数据丢失。

 

问题描述

      在编写嵌套Fragment时,需要实现内层subFragment刷新,原来使用的是getFragmentManager()会报错:FragmentManager is already executing transactions 。但切换外层Fragment时,内层数据还在

     后按照网上使用getChildFragmentManager(),报错问题解决,出现外层切换,造成内层Fragment被回收、显示空白的问题

 

解决方法

    外层改用add、show、hide方法切换,问题解决。

    解决问题灵感和参考代码:android之fragment的两种使用方式(add和replace方式切换)

 

感悟

这次bug修了前后超过6小时,遇到问题,要从多个方向思考,多去尝试各种解决方法。

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

巨坑:嵌套Fragment,外层使用replace进行切换,造成内层Fragment被回收、显示空白 的相关文章

  • 【python】6DOF analyse tool

    1 result show 1 1 note 图1为3D位置 xff0c 图2 xff0c 3 xff0c 4分别表示yaw pitch xff0c roll角随着时间的变化的波动 2 code span class token comme
  • Spring入门预备知识(上)

    Spring入门主要使用了下面几个技术 xff1a 工厂模式 单例模式 动态代理模式 面向接口编程 xff0c 下面分几部分详细分析 一 xff09 工厂模式 1 定义 xff1a 定义一个用于创建对象的接口 xff0c 让子类决定实例化哪
  • 电脑丢失dll文件能一键修复吗,哪种修复方法靠谱?

    Dll文件的丢失其实是一件挺常见的事情的 xff0c 最近就有网友问小编 xff0c 关于dll文件丢失的相关问题 xff0c 他问电脑丢失dll文件能一键修复吗 xff1f 这里小编告诉你 xff0c 有方法一键修复 xff0c 但是需要
  • vcruntime140_1.dll无法继续执行代码,怎么解决这种问题?

    经常使用电脑的人 xff0c 可能对于这个弹出框应该不陌生 xff0c vcruntime140 1 dll无法继续执行代码 xff0c 其实会出现这种情况 xff0c 主要是因为缺少一个动态链接库 DLL 文件导致的 这个文件是 Visu
  • 这可能是最简单又有效的自监督学习方法了

    文 王珣 64 知乎 本文已获作者授权 xff0c 禁止二次转载 从Kaiming的MoCo和Hinton组Chen Ting的SimCLR开始 xff0c 自监督学习 xff08 SSL xff09 成了计算机视觉的热潮显学 凡是大佬大组
  • idea 2022.1 创建maven卡死解决

    1 关闭项目 2 新建maven项目 创建成功
  • FFmpeg 命令常见操作

    1 转码 ffmpeg i source mp4 ss 20 t 10 c copy my mp4 ffmpeg ss 10 t 15 accurate seek i test mp4 c a copy c v copy tt mp4 i
  • FFprobe查看&统计视频信息

    1 查看音视频信息 1 1 查看基本信息 ffprobe span class token number 1280 span x720 h264 8mbps 30fps span class token punctuation span m
  • Linux 查看文件夹大小,磁盘剩余空间(du/df)

    1 简介 du查看目录大小 xff0c df查看磁盘使用情况 2 du disk usage xff08 1 xff09 基本功能 递归查看文件夹下所有文件的大小 xff08 2 xff09 常用参数 xff1a h human reada
  • Python matplotlib高级绘图详解

    1 前言 前面我们介绍了使用matplotlib简单的绘图方法 xff08 见 xff1a Python应用matplotlib绘图简介 xff09 但是想要完全控制你的图形 xff0c 以及更高级的用法 xff0c 就需要使用 pyplo
  • ffmpeg视频精准剪切

    1 导言 ffmepg剪切视频 xff0c 很方便 xff0c 但是也有很大缺陷 xff1a xff08 1 xff09 剪切时间点不精确 xff08 2 xff09 有时剪切的视频开头有黑屏 造成这些问题的原因是ffmpeg无法seek到
  • 【python】6DOF analyse tool2

    result show 1 1 note 图1为3D X Y Z combination位置 xff0c 图4 xff0c 5 xff0c 6分别表示yaw pitch xff0c roll角随着时间的变化的波动 span class to
  • AudioChannelManipulation

    Manipulating audio channels with ffmpeg Contents stereo mono streamstereo 2 mono filesstereo 2 mono streamsmono stereo2
  • 音频节奏检测(Onset Detection)

    1 前言 最近市场上出现一些多个视频拼接而成MV xff0c 其原理是根据音频的节拍变换切换视频 我在这里讲述下如何进行音频节拍检测 2 音频检测一般流程 3 3 1 原始音频频谱 以1024为窗口 xff08 即每次读取1024个采样点
  • 金融时间序列分析:6. AR模型实例(R语言)

    0 目录 金融时间序列分析 xff1a 9 ARMA自回归移动平均模型 金融时间序列分析 xff1a 8 MA模型实例 xff08 Python xff09 金融时间序列分析 xff1a 7 MA滑动平均模型 金融时间序列分析 xff1a
  • 比特率,帧率,分辨率对视频画质的影响

    0 前言 前几天和别人讨论视频编码参数对视频清晰度影响 xff0c 今日查查文献在此记录总结下 对最终用户而言 xff0c 其只关心视频的文件大小和画面质量 其中画面质量包括 xff1a 分辨率 xff0c 清晰度和流畅度 流畅度 xff1
  • 搭建Android Camera项目工程

    0 前言 这块内容非常简单 xff0c 需要注意的有两个 xff1a 需要申请相机权限需要一个Surface用来预览 1 申请相机权限 1 1 申请Camera权限 span class hljs tag lt span class hlj
  • 获取webshell权限的45种方法

    1 到GoogLe 搜索一些关键字 edit asp 韩国肉鸡为多 多数为MSSQL数据库 2 到Google site cq cn inurl asp 3 利用挖掘鸡和一个ASP木马 文件名是login asp 路径组是 manage 关
  • EGLContext: eglMakeCurrent详解

    1 前言 在完成EGL的初始化之后 xff0c 需要通过eglMakeCurrent 函数来将当前的上下文切换 xff0c 这样opengl的函数才能启动作用 boolean eglMakeCurrent EGLDisplay displa
  • 关于root安装中出现的问题

    最近重装了系统fedora16 xff0c 重新安装了root xff0c 结果遇到了各种问题 xff0c 先是编译不通过 xff0c 在网上查了说是需要打个补丁 xff0c 那就打个补丁吧 xff0c 安装成功之后又出现了新的错误 Cou

随机推荐