我对 FragmentManager 的后台堆栈背后的基本原理有些困惑。
鉴于一个活动有两个容器来容纳不同的片段:问题是当使用片段事务将片段添加到两个容器时,无论使用哪个容器,backstack 的计数都会增加。
这对我来说真的没有意义。如果这不是在 Android 中执行此操作的推广方式,那么我们如何在同一活动中独立管理 2 个后台堆栈(每个活动只有一个 FragmentManager)?
我可能只是在这里遗漏了一些明显的东西。
小智 0
片段是附加到活动的模块,并且片段之间不应该相互了解,并且应该通过活动进行通信。
片段由 Activity 提供的 FragmentManager 进行管理,添加、删除或替换片段等每个操作都通过 FragmentTransaction 提供,每个 Activity 仅有一个可用的后台堆栈。所以,正如 @hackbod在这篇文章中所说:
您只需要实现自己单独的返回堆栈,或者可以使用 FragmentTransaction.detach 进行管理。
| 归档时间: |
|
| 查看次数: |
309 次 |
| 最近记录: |