繁体   English   中英

在android中,如何在每个标签内创建不同的片段/活动堆栈,这些片段/活动堆栈会在所有标签更改之间持续存在?

[英]In android how do I create different fragments/activities stacks within each tab that persist across tab changes?

 TAB1          TAB2      TAB3
   |            |          |
 FragmentA     FragmentC  FragmentE
   |             |         |
FragmentB     FragmentD  FragmentF

我希望我的用户界面如上所示进行布局。 我已经阅读了片段的工作原理,并且看起来应该能够实现一个用户界面,该界面允许我在选项卡之间切换,以便每个选项卡都有一个片段,并且选择片段上的某些内容将导致显示另一个片段。

现在的问题是:我看不到如何在每个选项卡中维护不同的片段堆栈。 我想要的是在Tab2中使用“后退”按钮时能够从fragmentD转到FragmentC。 切换到Tab1应该会显示FragmentB,并允许我使用BACK按钮导航到FragmentA。 有没有办法像我描述的那样具有多个片段堆栈?

该模式应如下所示:

   TAB1          TAB2         TAB3
    |             |            |
 Activity 1    Activity 2  Activity 3
    |             |            |
 FragmentA     FragmentC   FragmentE
    |             |            |
 FragmentB     FragmentD   FragmentF

您无法(就我所知)无法使用当前的API进行操作。 在这里查看更多详细信息。

在您的SDK中,您有de APIdemos示例...在这里您将找到示例代码...,然后将其导入项目。 从现有来源创建新文件,然后转到/ androisdkdirectory / samples / android-x / Apidemos,然后完成

您将找到一个Java文件,并在其中找到不同选项卡类型的视图,这对学习可使用的新视图非常有用。

我的猜测是,如果您只是避免使用Backstack并按标签引用片段,则有可能实现。 例如,如果给fragmentC标记为“ fragmentC”,则如果fragmentD可见,则可以创建一个FragmentTransaction,将FragmentD替换为fragmentC。 当您按照此处的布局定义转换时,后向堆栈似乎更有价值。

你为什么不打电话:

fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);

每当单击选项卡?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM