处理Android的返回栈

4

目前,我的Fragment堆栈如下。

F1 -> F2 -> F3 -> F4 -> F5

在一个活动中,我有五个按钮B1、B2、B3、B4和B5。

我的问题是,当我从活动中按下B1按钮时,如何更新Fragment堆栈如下。

F2 -> F3 -> F4 -> F5 -> F1。

1个回答

0

从问题中并不清楚,但我假设您的意思是希望弹出 F5、F4、F3 和 F2,以便回到 F1。假设它们都添加到了某个容器视图中(而不是子片段),则可以使用 FragmentManager.popBackStack("F1", 0)。这还假定您在添加片段时使用了 String 标签。如果您使用了 int ID,则使用该 API 的版本,该版本接受您希望结束的 Fragmentint ID。


当我将字符串标签添加到后退栈时,我使用了string tags。我尝试使用**FragmentManager.popBackStack("F1", 0)**,但它并没有达到我想要的效果。感谢您的回复。现在您可以看到我的问题B1、B2、B3、B4和B5是活动中的按钮。 - dhruv gangani
按钮的详细信息并不能很好地解释你想要什么。你是想从片段返回堆栈的“底部”移除F1,然后将其移到“前面”吗? - Larry Schiefer
是的,没错。你知道怎么做吗? - dhruv gangani
这有点具有挑战性。您可以尝试删除F1片段,提交然后将F5替换为作为事务推送到后堆栈的F1。您最好自己管理片段并钩住“返回”触发器。 - Larry Schiefer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接