当用户使用设备上的后退按钮时显示对话框
Show dialog when user used back button on device
目前我有一个具有以下代码的应用程序。如果用户在单击后退按钮之前没有保存项目,我会提供一个对话框以查看他们是否要在退出 activity.
之前保存它
case android.R.id.home:
if(!didWeSave){
SHOW THE DIALOG BOX WITH OPTIONS
} else {
NavUtils.navigateUpFromSameTask(this);
}
return true;
现在,它只有在用户点击应用程序内的后退箭头时才能正常工作。但是,当我点击物理设备上的后退按钮时,它不起作用。这将如何解决?
谢谢
尝试覆盖 activity 的 onBackPressed()
,并在那里显示对话框。
只需添加
@Override
public void onBackPressed() {
//SHOW THE DIALOG BOX WITH OPTIONS
}
在你的activity
以上答案是正确的,但为了完成,您必须注释掉 super(),以避免 activity 在没有用户交互的情况下关闭您的对话框并提供 window 泄漏。
public void onBackPressed() {
//do Your stuff here
showDialog();
//comment out super() here
//super.onBackPressed();
}
目前我有一个具有以下代码的应用程序。如果用户在单击后退按钮之前没有保存项目,我会提供一个对话框以查看他们是否要在退出 activity.
之前保存它 case android.R.id.home:
if(!didWeSave){
SHOW THE DIALOG BOX WITH OPTIONS
} else {
NavUtils.navigateUpFromSameTask(this);
}
return true;
现在,它只有在用户点击应用程序内的后退箭头时才能正常工作。但是,当我点击物理设备上的后退按钮时,它不起作用。这将如何解决?
谢谢
尝试覆盖 activity 的 onBackPressed()
,并在那里显示对话框。
只需添加
@Override
public void onBackPressed() {
//SHOW THE DIALOG BOX WITH OPTIONS
}
在你的activity
以上答案是正确的,但为了完成,您必须注释掉 super(),以避免 activity 在没有用户交互的情况下关闭您的对话框并提供 window 泄漏。
public void onBackPressed() {
//do Your stuff here
showDialog();
//comment out super() here
//super.onBackPressed();
}