所以我有一个片段的活动,片段有一个导航抽屉和页面的内容。当我打开抽屉并单击一个项目时,片段被替换为新的片段。当我按下后退按钮时,我在片段管理器上调用popBackStack,并返回到第一个片段,但导航抽屉已打开。导航抽屉弹出片段后台后打开
有几件事需要注意:按下抽屉中的物品时,我会在抽屉布局上调用closeDrawers,并在替换碎片时关闭抽屉。如果我按下操作栏中的UP按钮,我可以用新的主片段替换片段容器,但是我希望能够将片段从堆栈中弹出。
为什么当我回到主碎片时抽屉会打开?
在点击监听器抽屉物品:
case 4:
drawerLayout.closeDrawers();
Fragment aboutFragment = new AboutFragment();
fragmentTransaction.replace(R.id.fragment_container, aboutFragment, "AboutFragment");
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
break;
这是向上操作栏中的箭头,这工作,但哈克:
case android.R.id.home:
getFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container, new MainActivityFragment())
.commit();
break;
我已经试过了不幸取代
。它仍然显示它是开放的 – Stampede10343
您是否将它作为您的导航抽屉的最后一个声明? –
或者您可以做的另一件事是在后退按钮代码中弹出()后关闭导航抽屉 –