问题描述
我已经在另一个问题上检查过这个问题,但大多数答案只针对一个特定的对话。我们确实有一些复杂的事情。我们有一个扩展 DialogFragment 的 BaseDialogFragment,一些类型的对话框类型扩展了 BaseDialogFragment 并且有准备对话框的对话框处理程序。我最近一直在尝试解决 Firebase Crashlytics,我们的 LoadingDialogHandler 出现错误。
Fatal Exception: java.lang.IllegalStateException Can not perform this action after onSaveInstanceState
@H_404_5@据我在研究中看到的,我们确实使用 dialogBox.show(fragmentManager,"") 它有时会导致问题,所以我想像下面那样改变它。
try { dialogBox.show(fragmentManager,""); }catch (Exception e){ int count = fragmentManager.getFragments().size(); Fragment fragment =fragmentManager.getFragments().get(count>0?count-1:count); FragmentTransaction ft = fragmentManager.beginTransaction(); ft.add(fragment,""); ft.commitAllowingStateLoss(); }
@H_404_5@但我不确定这个结构是否正确。因为有人说 getFragments 方法没有按顺序返回片段或者它可以为空等。
有没有办法可以调用当前片段来使用 FragmentTransaction 并毫无问题地显示对话框?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)