如何销毁碎片?

新手上路,请多包涵

我有一个 ActivityActivity 有两个 Fragment s。片段 A 是菜单。片段 B 是细节。

我尝试在片段 B 中制作其他片段 C,因此 Activity 中有 3 个片段。我尝试将片段 B 替换为片段 D。

我猜片段 B 和 C 已经死了。但是这些碎片还活着。只是片段是 onDestroyView() 状态。我想要 onDestroy()onDetach()

我该怎么做 Fragments.onDestroy()onDetach() ?我无法销毁或更改 Activity

原文由 Ignition 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 531
1 个回答

您需要做的就是调用 parentFragmentManager.beginTransaction().remove(fragment).commit() 。请记住 fragment.onDestroy() 不会从 parentFragmentManager.fragments 堆栈中弹出它。完整的示例代码将是:

  parentFragmentManager.fragments.onEach {
                if (it is SpecifiedFragment) {
                   parentFragmentManager.beginTransaction().remove(it).commit()
                }
            }

原文由 TinaTT2 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题