我有一个按this tutorial创建的材料设计导航抽屉。
按下后退按钮后,应用程序退出。我想要做的是关闭背面的导航抽屉。这是原始代码:
drawerFragment = (FragmentDrawer)
getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer);
drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), mToolbar);
drawerFragment.setDrawerListener(this);
我补充说:
public void onBackPressed() {
if (this.drawerFragment.isDrawerOpen(GravityCompat.START)) {
this.drawerFragment.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
但是,我收到错误无法解决方法isDrawerOpen
和closeDrawer
。
我怎样才能让它发挥作用?
答案 0 :(得分:13)
我认为您不应该使用片段来打开和关闭抽屉。而是尝试使用抽屉布局。
public void onBackPressed() {
DrawerLayout layout = (DrawerLayout)findViewById(R.id.drawer_layout);
if (layout.isDrawerOpen(GravityCompat.START)) {
layout.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}