无法关闭抽屉

时间:2015-05-25 18:34:13

标签: android

我在按下后退按钮时有这段代码

@Override
public void onBackPressed() {
    if (drawerLayout.isShown()) {
        drawerLayout.closeDrawers();
    } else
        super.onBackPressed();
}

如果抽屉打开,则抽屉关闭后按钮,但再次按后退按钮应用程序不会关闭。我想在抽屉未打开时按下后退按钮即可关闭应用程序。怎么办?

3 个答案:

答案 0 :(得分:2)

The isShown() method is a member of the View class, and concerns visibility. You probably want one of the DrawerLayout#isDrawerOpen() methods instead.

答案 1 :(得分:1)

使用drawerLayout.isDrawerOpen(),而不是isShown(),在这种情况下,它始终会返回true。这将导致else语句的if部分永远不会被执行。

答案 2 :(得分:0)

isShown()始终返回true。 也可以使用以下字段。

mDrawerLayout.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);