【发布时间】:2011-12-20 23:45:09
【问题描述】:
我的活动中有一些片段
[1], [2], [3], [4], [5], [6]
如果当前活动片段为 [2],则在返回按钮上按 I 必须从 [2] 返回到 [1],否则不执行任何操作。
这样做的最佳做法是什么?
编辑:应用程序不得从 [3]...[6] 返回到 [2]
【问题讨论】:
-
换一种说法,你希望 Fragment [1] 成为 root 并且所有其他 Fragment ([2]...[6]) 处于下一个级别(即 root 的孩子)。这意味着,您可以从任何孩子导航回根(不是孩子)。这是正确的吗?
-
首先了解 onBackPressed() 默认情况下对片段的工作方式非常重要...答案很简短:它首先通过 addToBackStack 搜索任何添加的片段,如果有,它确实与 popBackStack() 一样来弹出它,否则它会为活动执行默认的 onBackPressed()。因此,必须注意添加片段的方式。例如,如果您通过 add() 方法将 Fragment B 添加到现有的 Fragment A 但没有 addToBackStack(),则 onBackPressed() 将不会弹出 Fragment B 以返回到 Fragment A,但会在父活动上导致 onStop() .
-
任何人都可以在这里给出答案:stackoverflow.com/questions/63760586/…