再次单击以使用导航抽屉退出应用程序

时间:2020-10-15 15:56:09

标签: java android

我对此代码有疑问。我想当抽屉关闭并且用户单击打开的抽屉时,当抽屉打开并且用户想要从应用程序显示消息中退出时说:“再次按退出”。我怎么用这段代码呢?

我想变成这样

后按-打开抽屉;

再次按回-显示消息;

再次按回-退出应用程序;

这是我的代码

private boolean doubleBackToExitPressedOnce = false;
@Override
public void onBackPressed() {
    if (drawer.isDrawerOpen(GravityCompat.START) && doubleBackToExitPressedOnce) {
        super.onBackPressed();
    }

    else {
        drawer.openDrawer(GravityCompat.START);
    }
}

这是消息代码,我不知道该在哪里

doubleBackToExitPressedOnce = true;
    Toast.makeText(this, "Press again to exit", Toast.LENGTH_SHORT).show();

    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            doubleBackToExitPressedOnce = false;
        }
    }, 2000);

1 个答案:

答案 0 :(得分:1)

这应该可以解决您的问题。

@Override
public void onBackPressed() {
    // If navigation drawer is not open yet, open it.
    if (!drawer.isDrawerOpen(GravityCompat.START)) {
        drawer.openDrawer(GravityCompat.START);
    } else if (doubleBackToExitPressedOnce) {
        super.onBackPressed();
    } else {
        doubleBackToExitPressedOnce = true;
        Toast.makeText(this, "Press again to exit", Toast.LENGTH_SHORT).show();

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                doubleBackToExitPressedOnce = false;
            }
        }, 2000);
    }
}