java.lang.IllegalStateException:|java.lang.IllegalStateException: Fragment already added
遇到的问题:
java.lang.IllegalStateException: Fragment already added
fragment 已经添加了 在网上查的答案大部分都是添加一个fragement.isAdded();
判断。但是我的代码里面写的已经添加过了,但是还是有报这个错。
文章图片
现在的情况是Activity+Fragment+DailogFragment.先看一下什么情况下会报错
文章图片
原本以为是fragment和dailogFragment是同一个实体 , 结果发现是DialogFragment add了两次,下面两张图是debug时发现fragment和dailogFragment的
文章图片
文章图片
【java.lang.IllegalStateException:|java.lang.IllegalStateException: Fragment already added】
DialogFragment.show()内部调用了FragmentTransaction.add()方法,所以调用DialogFragment.show()方法时候也可能会出现这个异常。
文章图片
解决方案:dialogFragment.show(getChildFragmentManager(),"tag");
推荐阅读
- 当使用ViewPager滑动发生java.lang.IllegalStateException: The specified child already has a parent.异常时的解决方案
- okhttp异常( java.lang.IllegalStateException: closed)
- 解决使用okhttp3报java.lang.IllegalStateException: closed
- JasperException: java.lang.IllegalStateException: 无输出目录