弹出片段并将它们保持为单个实例

时间:2014-04-01 03:53:38

标签: android android-fragments

我正在尝试解决活动中我的片段之间的后退按钮。 为此,我做了:

        FragmentTransaction transaction = getFragmentManager().beginTransaction();
        transaction.replace(R.id.content_frame, new HomeFragmentFeed());
        transaction.addToBackStack(null);
        transaction.commit();

处理背面:

@Override
    public void onBackPressed() {
        FragmentManager fm = getFragmentManager();

        if (fm.getBackStackEntryCount() > 1)        
            fm.popBackStack();      
        else
            super.onBackPressed();
    }

问题是,如果我在片段之间导航而不将它们弹出,则每个片段可以在堆栈中多次。 如何解决每个片段应该只在堆栈中的ONCE的问题。

谢谢!

1 个答案:

答案 0 :(得分:0)

我不认为这是可能的,所以我建议您每次进行片段交易时都要清除后台堆栈。通过这种方式,只有最后一个片段将位于Backstack中

popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)