【问题标题】:Android replace fragment inside another fragmentAndroid在另一个片段中替换片段
【发布时间】:2013-07-29 15:45:42
【问题描述】:

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

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

那么,我该如何处理这个案子呢? 我将不胜感激任何帮助。

【问题讨论】:

    标签: android android-fragments fragment android-lifecycle android-support-library


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      • 1970-01-01
      • 2011-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多