【问题标题】:Android: Removing child fragraments when parent fragment is removedAndroid:删除父片段时删除子片段
【发布时间】:2019-03-17 12:30:18
【问题描述】:

我有一个带有 BottomNavigationView 和片段容器 (FrameLayout) 的 Activity。底部导航中的每个选项卡都有一个 TabFragment(TabFragment1、TabFragment2 等),每个 TabFragment 都是嵌套片段的父片段。嵌套的片段被添加到返回堆栈以在按下返回按钮后恢复(每个 TabFragment 都有自己的返回堆栈)。我的问题是:在 Activity 中替换选项卡片段时,我应该手动删除每个 TabFragment 中的嵌套片段吗?当父片段被破坏时嵌套片段是否被破坏?其片段被销毁后是否清除回栈?我想避免内存泄漏。谢谢!

【问题讨论】:

    标签: android android-fragments android-lifecycle fragmentmanager


    【解决方案1】:

    对此不确定。但是当我使用 ViewPager 时,如果我将 ViewPager 替换为其他片段 ViewPager 将被替换,但 ViewPager 中的片段不会被删除。所以当我替换 ViewPager 时,我会这样做。

     for( Fragment f : getSupportFragmentManager().getFragments()){
         if( f.getClass().getSimpleName().equals("Your nested fragment name"))
             transaction.remove(f);
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      相关资源
      最近更新 更多