2

我正在构建一个使用嵌套片段的应用程序。第一层片段是一个动画菜单,其中一个片段是菜单,另一个是内容。一些内容片段还会包含片段(子片段)。但是,我想禁用后退按钮在第一层片段上弹出片段堆栈。

我已成功委派后退按钮来处理子片段。对于顶级片段,如果它们已创建,我想重用它们,因此我将片段保存到哈希中,当添加新片段时,我只需删除()当前片段,然后用新片段执行替换(),这样视图已更新。我从不调用 addToBackStack。但是,当尝试导航回以前创建的片段(保存在哈希中)时,我收到错误:

java.lang.IllegalStateException: No activity

但仅当从重新添加的嵌套片段调用 getChildFragmentManager() 时。我终其一生都无法弄清楚为什么。有什么建议吗?

4

0 回答 0