【问题描述】我打算在activity按键退出时弹出一个告警对话框,用于提醒用户是否确定退出。我的实现的方法是在activity中增加onKeyDown函数,该函数是用于响应用户按键。在用户按退出activity时(即keyCode == DEFAULT_KEYS_SEARCH_GLOBAL )时,弹出告警对话框。【代码实现】
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ( keyCode == DEFAULT_KEYS_SEARCH_GLOBAL  ) {
showDialog(ALERT_DIALOG); //显示告警对话框
         return true;
        }
        Log.i("XBLW", new Integer(keyCode).toString());
        return false;
    }【求助】我尝试把onKeyDown函数注释掉,退出正常;尝试只把showDialog(ALERT_DIALOG)注释掉,仍无法退出,而且按所有键没有反应。请问谁知道是怎么回事?

解决方案 »

  1.   

      return false;
      改成return true;试试
      

  2.   

    把 return false 修改成 return super.OnKeyDown
      

  3.   

    修改后的代码:
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ( keyCode == DEFAULT_KEYS_SEARCH_GLOBAL ) {
    showDialog(ALERT_DIALOG); //显示告警对话框
      }
      return super.OnKeyDown
    }这样就可以了,多谢~