我对此代码有疑问。我想当抽屉关闭并且用户单击打开的抽屉时,当抽屉打开并且用户想要从应用程序显示消息中退出时说:“再次按退出”。我怎么用这段代码呢?
我想变成这样
后按-打开抽屉;
再次按回-显示消息;
再次按回-退出应用程序;
这是我的代码
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);
答案 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);
}
}