用户在设备

时间:2015-09-14 13:43:24

标签: android android-dialog

目前我有一个具有以下代码的应用程序。如果用户在单击后退按钮之前没有保存项目,我会在退出活动之前提供一个对话框,以查看是否要保存它。

  case android.R.id.home:
      if(!didWeSave){
          SHOW THE DIALOG BOX WITH OPTIONS
      } else {
         NavUtils.navigateUpFromSameTask(this);
      }
   return true;

现在,只有当用户点击应用程序内的后退箭头时,它才能正常工作。但是,当我按下物理设备上的后退按钮时,它不起作用。如何解决这个问题?

由于

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

只需添加

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

在您的活动中

答案 2 :(得分:0)

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

public void onBackPressed() {

 //do Your stuff here
   showDialog();

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

}