FragmentManager backstack

时间:2017-10-13 23:28:47

标签: android

我对FragmentManager的Backstack背后的基本原理感到有些困惑。

假设一个活动有两个用于容纳不同片段的容器:问题是当使用片段事务向两个容器添加片段时,无论容器是什么,后台堆栈的数量都会增加。正在使用。

这对我来说并不合理。 如果这不是在Android中推广的方式,那么我们如何在同一活动中独立管理2个backstack(每个活动只有一个FragmentManager)?
我可能只是错过了一些明显的东西。

1 个答案:

答案 0 :(得分:0)

片段是附加到Activity的模块,不应该彼此知道片段,并且应该通过Activity进行通信。

片段由活动提供的FragmentManager管理,每个action such as add, remove, or replace a fragment are provided through a FragmentTransaction,每个活动只有一个backstack可用。所以,正如@hackbod said at this post

  

您只需要实现自己独立的后台堆栈,或者可以使用FragmentTransaction.detach进行管理。