关闭背面的关闭导航抽屉

时间:2016-01-02 02:05:24

标签: android navigation-drawer

我有一个按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();
        }
    }

但是,我收到错误无法解决方法isDrawerOpencloseDrawer

我怎样才能让它发挥作用?

1 个答案:

答案 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();
    }
}