显示最后一个片段

时间:2014-02-25 13:46:15

标签: android android-fragments

我有一个与之关联的4个片段的活动。在其中一个片段中,我可以打开另一个活动。当我从活动返回时(通过调用finish())显示默认片段而不是最后一个片段。例如:如果我有4个片段a b c d与活动A相关联,则默认显示的片段为c。从片段a我可以打开其他活动B.我想要的是看到从活动B返回到活动A时看到的最后一个片段。

1 个答案:

答案 0 :(得分:1)

addToBackStack(String)是提供将片段添加到backStack的功能的方法,因此当按下后退按钮时,片段将以与添加它们的方式相反的顺序显示。

More Details.

对于您在事务中替换或添加片段(例如)时的事务,

 FragmentTransaction ft = getFragmentManager().beginTransaction();
 ft.replace(your layout, fragment a, tag);
 ft.addToBackStack(null); // this line will remember fragment a
 ft.commit();

完成活动B.您将能够看到片段A,如果按后退按钮,您将看到其他片段的顺序相反。

编辑 - 检查片段是否可见。

使用Fragment类的isVisile()方法来查看这是否是当前可见的片段。

public final boolean isVisible ()

如果片段当前对用户可见,则返回true。这意味着它:(1)已添加,(2)其视图附加到窗口,(3)未隐藏。'

See here