java.lang.IllegalStateException: Fragment already added

问题

最近项目中遇到一个棘手问题,报错如下图所示。

image.png

解决方案

commitAllowingStateLoss之后,调用executePendingTransactions方法

fragmentTransaction.commitAllowingStateLoss();
getChildFragmentManager().executePendingTransactions();

commitAllowingStateLoss方法并不立即执行transaction中包含的动作,而是把它加入到UI线程队列中。如果想要立即执行,可以在commitAllowingStateLoss之后立即调用FragmentManager的executePendingTransactions方法。

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容