问题描述

在DialogFragment中重复调用show(manager: FragmentManager?, tag: String?)导致崩溃,提示IllegalStateException: Fragment already added
并且manager?.findFragmentByTag(tag)找到的fragment是空,isAdded也是false

解决方案

方案一:

override fun show(manager: FragmentManager?, tag: String?) {try {//在每个add事务前增加一个remove事务,防止连续的addmanager?.beginTransaction()?.remove(this)?.commit()super.show(manager, tag)} catch (e: Exception) {//同一实例使用不同的tag会异常,这里捕获一下e.printStackTrace()}}

方案二:

override fun show(manager: FragmentManager?, tag: String?) {try {manager?.beginTransaction()?.commitAllowingStateLoss()manager?.executePendingTransactions()if (isAdded){return}super.show(manager, tag)}catch (e: Exception){e.printStackTrace()}}
总结

推荐方案二, 方案一在同一实例使用不同的tag会异常

java.lang.IllegalStateException: Fragment already added相关推荐

  1. Android DialogFragment 遇到 java.lang.IllegalStateException: Fragment already added: 的解决方法

    Android DialogFragment 遇到 java.lang.IllegalStateException: Fragment already added: 的解决方法 参考文章: (1)An ...

  2. [Android Pro] java.lang.IllegalStateException: Fragment(XXFragment) not attached to Activity异常

    [Android Pro] java.lang.IllegalStateException: Fragment(XXFragment) not attached to Activity异常 参考文章: ...

  3. viewpager2异常: java.lang.IllegalStateException: Fragment no longer exists for key f#1: unique id 8052

    异常信息: java.lang.IllegalStateException: Fragment no longer exists for key f#1: unique id 805285bc-7a1 ...

  4. Android Fragment异常:java.lang.IllegalStateException: Fragment XXXFragment not attached to Activity

    出现该异常,是因为Fragment的还没有Attach到Activity时,调用了如getResource()等需要上下文Context的函数.解决方法,就是等将调用的代码写在OnStart()中.

  5. ButterKnife与Fragment的爱恨情仇(java.lang.IllegalStateException: Bindings already cleared.)

    业务场景:常规app开发 页面切换框.底下4个选项卡.切换 上面4个不同页面的切换.业务逻辑不再赘述. 我在BaseFragment里面使用了注解框架ButterKnife注册,代码如下: onDes ...

  6. Java.lang.IllegalStateException Activity has been destroyed

    12-07 11:13:14.030 13836-13836/com.xxx.xxx.android E/error.out: 检测到严重错误,程序即将退出java.lang.RuntimeExcep ...

  7. java.lang.IllegalStateException: Failure saving state: active HomeFragment has cleared index: -1

    异常信息 java.lang.IllegalStateException: Failure saving state: active HomeFragment{28d4dc6} has cleared ...

  8. AndroidKotlin笔记——TextView赋值出现java.lang.IllegalStateException: tv must not be null

    前言 现在有很多Android开发的小伙伴使用Kotlin开发应用了,今天小编在使用Kotlin开发的时候遇到个问题,就是在TextView赋值时候出现了java.lang.IllegalStateE ...

  9. java.lang.IllegalStateException: No host

    Logcat打印出的错误提示如下: java.lang.IllegalStateException: No host                                           ...

  10. 记录一次gilde引起的异常:(java.lang.IllegalStateException: Cannot pool recycled bitmap)

    遇到的log日志打印如下: 12-15 16:55:50.435 20360-20360/com.ysb E/AndroidRuntime: FATAL EXCEPTION: mainProcess: ...

最新文章

  1. 稀疏矩阵按列转置核心代码
  2. 同为 Java 开发:有了这些 Java 项目经历,面大厂稳了!
  3. mysql select表达式_MySQL数据库SELECT查询表达式解析
  4. TensorFlow基于minist数据集实现手写字识别实战的三个模型
  5. Distributed Transaction Coordinator 服务因 3221229584 (0xC0001010) 服务性错误而停止
  6. JavaScript 严格模式(use strict)
  7. ASP.NET MVC 的多国语系支持
  8. python 面向对象编程tcp_python 闯关之路三(面向对象与网络编程)
  9. 设计专业作品展示舞台,灵感源泉
  10. redis面试常问--缓存穿透
  11. 传智播客reactnative_传智播客黑马前端36期(2018年)
  12. ENVI遥感处理(9):遥感影像镶嵌和图像裁剪
  13. matlab 数组写入文件名,Matlab将数组写入.txt文件
  14. 怎么在线制作软件的logo
  15. kafka zookeeper docker容器互联
  16. 怎么查看本地IP地址
  17. ChatGPT 大行其道,带你走近 AIGC
  18. 学习java被虐千百遍
  19. PC操作系统使用技巧
  20. springboot POST 405 错误

热门文章

  1. SNN、RNN、CNN
  2. Help library 安装arcobjects for .NET异常问题
  3. 游戏挂机运行脚本方法
  4. 球相交的表面积并/体积并
  5. 嵌入式1553B总线开发板的应用
  6. 扣哒世界python CS1 竞技场代码
  7. 【线性代数】第一章 1.3逆矩阵
  8. android 调取数字键盘,Android自定义键盘的实现(数字键盘和字母键盘)
  9. 接近开关编码器脉冲信号计数器NPN/PNP转485信号采集Modbus模块
  10. 工业相机的镜头接口知识介绍