替换1个活动中的片段

时间:2014-02-06 10:12:25

标签: android-fragments back-stack

我有两个片段,调用片段A和片段B

两个片段在显示时占据半屏(这没关系)

活动加载onCreate中的片段A被附加(这没关系)

现在在片段A中按下一个按钮我想用片段B替换屏幕上的片段A(这已经完成)

然而,当我进行背压时,我想用原始片段A

替换片段B.

这是我在onCreate中的代码,用于显示片段A

    Log.d(TAG, "replacing fragment");
    FragmentManager fm = getSupportFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    ft.replace(resId, fragment);
    ft.commit();

//没有故意调用backstack,因此无法使用back press

分离片段A.

这是我点击按钮的代码,显示片段B

            Log.d(TAG, "replacing fragment");
    FragmentManager fm = getSupportFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    ft.setCustomAnimations(enterAnim, exitAnim);
    ft.replace(resId, fragment);
    ft.addToBackStack(null);
    ft.commit();

现在在我写的onBackPressed方法中

getSupportFragmentManager().popBackStack();

这是发生的事情:片段B被删除,片段A不会显示在它后面。这意味着我得到一个空白的白色屏幕上没有任何东西,在片段A应该是的地方。

为什么会这样?

0 个答案:

没有答案