我只想退出应用程序只有当退栈是空的。按两次退出按钮退出应用程序
我的应用程序的一部分包含一个库,其中当点击一张图片时,会打开一个显示全屏图像的片段。当在这个全屏幕图像中按下后退按钮时,我想回到画廊片段。我通过添加片段返回堆栈来完成此操作。
但在应用程序的其他部分,当按下后退按钮时,我想显示一个祝酒词“请再次单击BACK退出”。当后退按钮再次按下时,应用程序关闭。我怎样才能做到这一点?
这是我迄今所做的:
boolean doubleBackToExitPressedOnce = false;
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount() > 0){
getFragmentManager().popBackStack();
} else {
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
return;
}
this.doubleBackToExitPressedOnce = true;
commonTasks.ShowStringMessage("Please click BACK again to exit");
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
doubleBackToExitPressedOnce=false;
}
}, 2000);
//super.onBackPressed();
}
}
显然没有奏效。
请确认您是否使用getFragmentManager()或getSupportFragmentManager() – Nitesh
@Nitesh:getFragmentManager()将片段添加到backstack。你能帮我吗? –
你的代码对我来说很好看..你能告诉当你按下后退按钮时发生了什么吗? – Nitesh