Android 用片段、活动和自定义后台堆栈替换ActivityGroup

Android 用片段、活动和自定义后台堆栈替换ActivityGroup,android,tabs,android-fragments,android-tabhost,Android,Tabs,Android Fragments,Android Tabhost,我似乎找不到一个合适的方式离开ActivityGroup。 我见过 采取以下行动: 具有4个选项卡的应用程序 每个选项卡都需要有自己的后台堆栈(类似于iOS行为,是的) 应用程序可以针对平板电脑进行调整,因此后台堆栈需要容纳活动 一旦需要为平板电脑开发,活动将包含多个片段。拥有一个片段堆栈是行不通的,因为片段不能嵌套,所以堆栈必须包含活动 除了继续使用ActivityGroup,我似乎找不到其他解决方法 谢谢 编辑1: 一个具体的例子 手持设备: TAB 1 -> Activity

我似乎找不到一个合适的方式离开ActivityGroup。 我见过

采取以下行动:

  • 具有4个选项卡的应用程序
  • 每个选项卡都需要有自己的后台堆栈(类似于iOS行为,是的)
  • 应用程序可以针对平板电脑进行调整,因此后台堆栈需要容纳活动
一旦需要为平板电脑开发,活动将包含多个片段。拥有一个片段堆栈是行不通的,因为片段不能嵌套,所以堆栈必须包含活动

除了继续使用ActivityGroup,我似乎找不到其他解决方法

谢谢

编辑1: 一个具体的例子

手持设备:

 TAB 1 -> Activity 1A (Fragment 1A) 
       -> Activity 1B (Fragment 1B)  
       -> Activity 1C (Fragment 1C)
平板电脑:

 TAB 1 -> Activity 1A (Fragment 1A and 1B)
       -> Activity 1C (Fragment 1C)

@贝尔斯:我不认为我能始终如一地依赖零碎的交易。正如您所提到的,我可以在一个事务中添加多个片段,但活动布局可能不一致。因此,我仍然认为需要ActivityGroup。

有什么原因不能使用可以添加到后台堆栈的FragmentTransaction?如果屏幕上有三个片段,并且它们都同时更改,则需要三个片段事务,但这些片段不会嵌套,因此应该可以工作


为了让每个选项卡都有自己的后台堆栈,您可能需要聪明地为每个选项卡自己管理它。i、 e.使用放在后堆栈上的每个FragmentTransaction的数组,如果用户切换选项卡,则删除存储的所有FragmentTransaction(但仍跟踪它们)然后,当用户返回到选项卡时,以相同的顺序将它们添加回后堆栈。

是否有原因不能使用可以添加到后堆栈的FragmentTransaction?如果屏幕上有三个片段,并且它们都同时更改,则需要三个片段事务,但这些片段不会嵌套,因此应该可以工作


为了让每个选项卡都有自己的后台堆栈,您可能需要聪明地为每个选项卡自己管理它。i、 e.使用放在后堆栈上的每个碎片事务的数组,如果用户切换选项卡删除所有存储的碎片事务(但仍然跟踪它们),那么当用户返回选项卡时,将它们以相同的顺序添加回后堆栈。

没有找到最好的方法。然而,我必须滚动我自己的“自定义后堆栈”,并设计一组带有组织片段的布局。将此标记为最佳解决方案。没有找到最佳方法。然而,我必须滚动我自己的“自定义后堆栈”,并设计一组带有组织片段的布局。将此标记为最佳解决方案。