Android导航回Activity的片段

时间:2014-12-12 10:24:36

标签: android android-fragments navigation back

Android使用ActionBar上的后退图标或图标

提供用户导航
getActionBar().setDisplayHomeAsUpEnabled(true);

和AndroidManifest.xml有

        <!--
        since 4.0 
        android:parentActivityName=".MainActivity" >
        --> 
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".activity.MainActivity" />

现在如果我的Activity有3个片段1-2-3, 如何启用后退导航返回3-&gt; 2-&gt; 1?

当用户按下时,如何转到上一个片段,而不是活动?

2 个答案:

答案 0 :(得分:4)

您可以按名称弹出片段。在向后堆栈添加片段时,只需给它们命名即可。

fragmentTransaction.addToBackStack("fragB");
fragmentTransaction.addToBackStack("fragC");

然后在Fragment_C中,使用名称ie .. fragB弹出后面的堆栈并包含POP_BACK_STACK_INCLUSIVE

someButtonInC.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        FragmentManager fm = getActivity()
                .getSupportFragmentManager();
        fm.popBackStack ("fragB", FragmentManager.POP_BACK_STACK_INCLUSIVE);
    }
});

答案 1 :(得分:0)

请注意,您可能在应用程序中包含几个可访问的片段。因此,您需要一个健壮的绝对可靠的解决方案。我在Managing the Fragment Back Stack页面找到了一个完整且解释完整的解决方案,其相关代码位于GitHub

相关问题