2012-10-18 51 views
1

我一直在環顧四周,找不到任何東西,所以我不知道它是否可能,但是有沒有辦法對alertdialogs進行關閉操作?AlertDialog OnClose事件Android

在我的情況下,我的背景UI暫停,而對話框是暫停屏幕。如果你點擊對話框中的按鈕,它會運行onClick的東西,所以我有它在那裏取消暫停,但如果他們點擊對話框關閉對話框但不運行onClick。無論如何,當他們點擊到一邊時,有什麼東西可以運行?謝謝!

回答

12

您可以設置onDismissListener()以在對話框消失時收聽。 Docs

+5

是,但'是唯一在API 17 http://developer.android.com/reference/android/app/AlertDialog.Builder.html#setOnDismissListener(android.content介紹AlertDialog.Builder'。 DialogInterface.OnDismissListener) – SZH

0

您可以使用setCanceledOnTouchOutside(false)來迫使用戶點擊取消按鈕。 您也可以(如果您使用的是DialogFragment)覆蓋onDetach()方法。 最後你可以設置一個解僱監聽器。

4

您可以使用onDismissListener(),但它是在更高級的API中引入的,因此不會與較舊的API兼容。您可以改用onCancel()

AlertDialog.Builder alertDialog = new AlertDialog.Builder(this); 
    alertDialog.setTitle("My Titile"); 
    alertDialog.setOnCancelListener(new OnCancelListener() { 

     @Override 
     public void onCancel(DialogInterface dialog) { 
      //your logic 
     } 
    });