2012-01-03 72 views
3

我有一個以alertdialog開頭的活動完成對話框和活動

當我按回來按鈕只有對話框關閉。

我想關閉對話框和活動。

如何做到這一點?

回答

10

您正在尋找能爲Dialog.setOnCancelListener()

設置的OnCancelListener在那裏,你可以調用finish()將完成你的Activity了。

+1

它應該被調用,如果你在對話框打開時按下後退按鈕,那就是你想要的,對吧? – WarrenFaith 2012-01-03 12:09:17

+0

工作感謝。 – 2012-01-03 12:15:19

+0

是的,warrenfaith是對的。 – fargath 2012-01-03 12:16:19

4

這段代碼就像一個魅力!

public void showAlertDialog(final Activity activity, String title, String message, Boolean status) { 

    AlertDialog alertDialog = new AlertDialog.Builder(activity).create(); 
     alertDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { 
      public void onCancel(DialogInterface dialog) { 
       activity.finish(); 
      } 
     }); 

    alertDialog.show(); 
} 

我不得不決定總是收到活動,因爲我總是發送,而不是隻發送上下文ActivityName.this。但後來我收到了上下文。但是在這裏,我不能僅憑上下文取消活動,我需要活動。所以,總是發送活動,以便能夠從相同的活動之外操縱它。