Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当用户使用设备上的“后退”按钮时显示对话框_Android_Android Dialog - Fatal编程技术网

Android 当用户使用设备上的“后退”按钮时显示对话框

Android 当用户使用设备上的“后退”按钮时显示对话框,android,android-dialog,Android,Android Dialog,目前,我有一个应用程序具有以下代码。如果用户在单击“上一步”按钮之前没有保存项目,我会提供一个对话框,查看他们是否希望在退出活动之前保存项目 case android.R.id.home: if(!didWeSave){ SHOW THE DIALOG BOX WITH OPTIONS } else { NavUtils.navigateUpFromSameTask(this); } return true;

目前,我有一个应用程序具有以下代码。如果用户在单击“上一步”按钮之前没有保存项目,我会提供一个对话框,查看他们是否希望在退出活动之前保存项目

  case android.R.id.home:
      if(!didWeSave){
          SHOW THE DIALOG BOX WITH OPTIONS
      } else {
         NavUtils.navigateUpFromSameTask(this);
      }
   return true;
现在,只有当用户在应用程序中点击后退箭头时,它才能正常工作。但是,当我点击物理设备上的后退按钮时,它不工作。这将如何修复


谢谢

尝试覆盖活动的
onBackPressed()
,并在那里显示对话框。

只需添加

@Override
public void onBackPressed() {
    //SHOW THE DIALOG BOX WITH OPTIONS
}

在您的活动中

上述答案是正确的,但为了完成,您必须注释掉super(),以避免活动在对话框上没有用户交互的情况下关闭,并提供窗口泄漏

public void onBackPressed() {

 //do Your stuff here
   showDialog();

 //comment out super() here
 //super.onBackPressed();

}

这就行了。我会接受你的回答。非常感谢你。