2011-06-01 70 views
0

当我点击返回按钮时,我显示一个确认对话框,选择是和否。 但是,如果没有点击yes按钮,它会自动回到上一个屏幕。我的密码部分是:在确认之前,点击返回按钮,它将进入前一屏幕

public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
    if (keyCode == KeyEvent.KEYCODE_BACK) 
    { 
     new AlertDialog.Builder(this).setMessage("Do you want to exit the application?") 
     .setPositiveButton("YES", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
       // TODO Auto-generated method stub 
       finish(); 
      } 
     }).setNegativeButton("NO", null).show(); 
     return super.onKeyDown(keyCode, event); 
    } 
    return false; 
} 

帮帮我。

回答

0
return false; 

意味着你不消耗后退按钮这样的行动将遵循下一步:

super.onKeyDown(keyCode, event); 

尝试将其更改为:

return true; 

表示您已经使用了后退按钮。

+0

不,我删除,返回super.onKeyDown(keyCode,事件);它对我来说工作得很好...... – 2011-06-01 10:29:12

1

尝试用下面的代码

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) 
    { 
     new AlertDialog.Builder(this).setMessage("Do you want to exit the application?") 
     .setPositiveButton("YES", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
       // TODO Auto-generated method stub 
       finish(); 
      } 
     }).setNegativeButton("NO", null).show(); 

    } 
    return super.onKeyDown(keyCode, event); 

} 

感谢 迪帕克

+0

是的..我解决了。我删除该返回语句,它工作正常。无论如何谢谢迪帕克。 – 2011-06-01 10:18:26

相关问题