如何通过编程方式关闭Android中的Dialog?

时间:2013-08-08 21:20:04

标签: java android dialog alertdialog

如何以编程方式关闭android中的Dialog,例如按一个按钮?

想象一下,我有一个带有OK按钮的Dialog,想要通过OK按钮关闭它,但我不能这样做!

我用谷歌搜索,没有发现任何有用的东西,几乎所有关闭AlertDialog都不是对话。

5 个答案:

答案 0 :(得分:51)

您可以在对话框上调用dismiss

答案 1 :(得分:10)

这是如何使用2个按钮创建AlertDialog(确定和取消)的示例。 单击取消按钮时,

  

dialog.dismiss()

调用

关闭对话框。

从外面的任何地方,你都可以打电话

  

builder.dismiss();

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            builder.setMessage("Some message.")
                   .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                           // do something
                       }
                   })
                   .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                           dialog.dismiss();
                       }
                   });

            builder.show();

答案 2 :(得分:8)

dialog.dismiss();

只有这一行会关闭它。 : - )

在onClickListener中实现它。

答案 3 :(得分:5)

您可以使用方法cancel()dismiss()。方法cancel()与调用dismiss()基本相同,但它也会调用DialogInterface.OnCancelListener(如果已注册)。

答案 4 :(得分:0)

如果您将Dialog作为单独的Activity,最简单的关闭方法是调用:

   finish();

在OnClickListener类中使用onClick()方法调用此方法。

这将调用onPause(),onStop()和onDestroy()方法,并终止当前活动 - 与“后退”按钮相同。