Android fragments 替换1活动中的片段
我有两个片段,称为片段A和片段BAndroid fragments 替换1活动中的片段,android-fragments,back-stack,Android Fragments,Back Stack,我有两个片段,称为片段A和片段B Log.d(TAG, "replacing fragment"); FragmentManager fm = getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); ft.setCustomAnimations(enterAnim, exitAnim); ft.replace(resId, fragment);
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();
显示时,两个片段占据半屏幕(这是正常的)
活动加载时附加了onCreate中的片段A(这是确定的)
现在按下片段a中的一个按钮,我想用片段B替换屏幕上的片段a(完成了)
但是,当我进行反压时,我想用原始片段a替换片段B
Log.d(TAG, "replacing fragment");
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(resId, fragment);
ft.commit();
下面是我在onCreate中显示片段A的代码
Log.d(TAG, "replacing fragment");
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(resId, fragment);
ft.commit();
//不需要故意调用backbackback,这样碎片A就不能用back press分离
这是我的代码,点击按钮显示片段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();
现在,当我用onbackpress方法写
getSupportFragmentManager().popBackStack();
事情就是这样:片段B被移除,片段A不显示在它后面。这意味着我得到了一个空白的白色屏幕,上面什么也没有,在碎片a应该在的地方
为什么会发生这种情况