2012-02-15 63 views
8

解僱的警告對話框我需要捕捉的事件,當用戶按下返回鍵,並嘗試關閉該對話框 我有這樣如何捕獲的事件,當用戶按下backKey Android中

代碼
AlertDialog alertDialog = new AlertDialog.Builder(AppNotification.this).create(); 
    alertDialog.setTitle("Caution"); 
    alertDialog.setMessage("Alert"); 
    alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 
     finish(); 
    } }); 
    alertDialog.show(); 
} 

現在在這裏,我已經給用戶提供一個選項,但如果他按下返回鍵,然後我需要執行一些其他action.how這樣做是不是?

+0

[這裏] [1]是具有公認的答案類似的問題。 [1]:http://stackoverflow.com/questions/2000102/android-override-back-button-to-act-like-home-button – rics 2012-02-15 07:39:51

+0

都能跟得上..我說的警告對話框,並回到關鍵事件...我知道BackKeyEvent .... – 2012-02-15 07:42:08

+0

這是一個提示如何重寫後退按鈕。 Rajeel解釋瞭如何將其添加到警報。 – rics 2012-02-15 07:54:48

回答

23

這將幫助你

alertDialog.setOnCancelListener(new OnCancelListener() { 
    public void onCancel(DialogInterface dialog) { 
     // Your code ...     
    } 
}); 
0

創建用於管理後退鍵事件的按鈕。現在在onClick事件中嘗試提供下面給出的代碼。

back_key.setOnClickListener(new OnClickListener() 
{ 

     public void onClick(View v) 
     { 
      // Your Tracking Code 
     } 
}); 
1

您可以捕獲返回鍵事件 當你的警告出現時設置一些布爾爲true

AlertDialog alertDialog = new AlertDialog.Builder(AppNotification.this).create(); 
    alertDialog.setTitle("Caution"); 
    alertDialog.setMessage("Alert"); 
    alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 
     finish(); 
    } }); 
    isAlertShowing = true; // set to true for alert 
    alertDialog.show(); 
} 

然後在事件

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
 if (keyCode == KeyEvent.KEYCODE_BACK) 
       { 
           if(isAlertShowing) 
           { 
       // perform your task here 
      } 

       } 

       return super.onKeyDown(keyCode, event); 
} 
+0

這是一個很好的方式。我想它的警告對話框中有任何聽衆的... :) – 2012-02-15 07:54:40

1

也有

alertDialog.setOnDismissListener(dialog -> { /* code goes here */ }); 

這似乎是特別處理解僱事件。

相關問題