Android 将 fragment 从后台堆栈带到前面,而不弹出任何其他 fragment

标签 android android-fragments android-navigation

我必须实现像 iOS 一样的导航结构,或者你可以说像浏览器一样。在我的应用程序中,就像我有 3 个选项卡,每个选项卡都有多个 fragment 流,例如

选项卡 1 --> fragment 1--> fragment 2--> fragment 3

选项卡 2 --> fragment 1--> fragment 2

选项卡 3 --> fragment 1--> fragment 2--> fragment 3--> fragment 4

导航就像用户切换选项卡时一样,然后可以查看该选项卡最后打开的 fragment ,然后按“后退”键应返回到该选项卡之前打开的 fragment 。所有这些 fragment 都是从单个 fragment Activity 加载的,所以我想的是通过创建三个不同的堆栈来跟踪这些选项卡中打开的 fragment 来手动管理导航。

我想要的是一种方法,通过它我可以将之前添加的 fragment 带到前面,而不会弹出任何其他 fragment ,即使在该 fragment 之后添加了一些 fragment 。在返回时,我将弹出当前 fragment ,并根据我自己的托管堆栈将另一个先前添加的 fragment 放在前面。

我搜索了通过标签将先前加载的 fragment 放在前面的方法,但它们会弹出该 fragment 之后加载的所有 fragment ,这对我来说是 Not Acceptable 。

最佳答案

你可以试试

getSupportFragmentManager().beginTransaction().attach(fragmentA).commit;

getSupportFragmentManager().beginTransaction().show(fragmentA).commit;

并通过循环遍历

给出的所有 fragment 来隐藏 FragmentActivity 中的其他 fragment
 getSupportFragmentManager().getFragments();
 //This gives list of fragment in stack

关于Android 将 fragment 从后台堆栈带到前面,而不弹出任何其他 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24161035/

相关文章:

android - 在 fragment View 之间切换

java - Android 真的需要多 Activity 吗?

android - 如何将底部导航监听器添加到 fragment

android - 在图表值旁边添加自定义文本 - achartengine

java - 更改 AOSP 中 Android 标准按钮的功能

android - 在 fragment 选项卡中添加布局的问题

android - 带有导航组件的 BottomNavigationView - 选定的 fragment 未显示

android - 使 Android 抽屉导航可滚动

java - 如果我在对象的 Finalize 方法中保存对对象的引用,该对象是否会被 GC 回收?

android - 在 SQLite 中获取随机记录