2

我在父片段中有 2 个片段。在OnCreateView()父片段中,我尝试通过replace(int, Fragment). 据我了解,FragmentTransaction#commit()被异步调用。

因此,如果用户快速按下返回按钮——系统将销毁父片段(它调用、、、、onPause()onStop()并且异步替换任务将失败——父视图被销毁并且系统抛出“ IllegalArgumentException:未找到片段 MyFragment 的视图”。我使用支持库。onDestroyView()onDestroy()

那么,我该如何处理这种情况呢?我将不胜感激任何帮助。

4

1 回答 1

1

我解决了我的问题。对于嵌套片段getChildFragmentManager(),应该使用而不是getFragmentManager(). ChildFragmentManager似乎跟踪父片段的生命周期并在父片段将被销毁时取消预定的提交。

于 2013-07-30T20:54:52.703 回答