在 Android 的 FragmentTransaction docs 中,它描述了方法
另一方面,当我们使用
那么这些场景背后的差异是什么?
replace()
和当前视图中添加的所有片段调用方法 remove()
并调用方法 add()
是相同的。在这种情况下,要恢复上一个片段,我们可以使用 addBackToStack()
,这意味着事务状态仍由片段管理器管理,并且将在弹出堆栈时撤消其操作。另一方面,当我们使用
add()
实现事务时,除了使用 add().addBackToStack()
,我们还可以使用 detach()
方法并使用 attach()
恢复片段,其行为与 addBackToStack()
相同。那么这些场景背后的差异是什么?