【发布时间】:2016-06-11 17:18:10
【问题描述】:
所以我有一个带有片段的活动,片段有一个导航抽屉和页面的内容。当我打开抽屉并单击一个项目时,片段将替换为新片段。当我按下后退按钮时,我在片段管理器上调用 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;
这是操作栏中的向上箭头,这可行但很hacky:
case android.R.id.home:
getFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container, new MainActivityFragment())
.commit();
break;
【问题讨论】:
标签: android android-layout android-fragments navigation-drawer drawerlayout