问题
最近项目中遇到一个棘手问题,报错如下图所示。
解决方案
在commitAllowingStateLoss
之后,调用executePendingTransactions
方法
fragmentTransaction.commitAllowingStateLoss();
getChildFragmentManager().executePendingTransactions();
commitAllowingStateLoss
方法并不立即执行transaction中包含的动作,而是把它加入到UI线程队列中。如果想要立即执行,可以在commitAllowingStateLoss
之后立即调用FragmentManager的executePendingTransactions
方法。