如何在5个片段中创建最大堆栈大小。添加6个片段,1个片段应该删除,但要安静,不显示屏幕。
[片段1] - > Fragment2] - GT; - ; Fragment4] - GT; [Fragment3] GT [Fragment5]
添加了6个片段
[片段1] [Fragment2] - GT; - ; Fragment4] - GT; [Fragment3] GT [Fragment5] - GT; [Fragment6]
当用户回来时,他将在5个屏幕上。
主要问题,如何从安静的后端堆栈片段管理器中删除FragmentManager.BackStackEntry,而不是在屏幕上推送。
这可能吗?
答案 0 :(得分:0)
Fragment堆栈确实是stack,其中唯一可用的选项是:
- push,它将元素添加到集合中,并且
- pop,它将删除尚未删除的最近添加的元素。
因此,不支持从堆栈底部删除碎片。您需要管理自己的后向堆栈(通过覆盖onBackPressed()
并使用attach()
/ detach()
操作)来提供这种效果。