2012-01-03 42 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。但后来我收到了上下文。但是在这里,我不能仅凭上下文取消活动,我需要活动。所以,总是发送活动,以便能够从相同的活动之外操纵它。