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

Ami*_*emi 31 java android dialog android-alertdialog

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

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

我用Google搜索并发现没什么用处,几乎所有这些都用于关闭AlertDialog而不是Dialog.

iag*_*een 54

你可以打电话dismiss给对话框.


Phi*_*oda 9

这是如何使用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();
Run Code Online (Sandbox Code Playgroud)

  • 没有像builder.dismiss()这样的方法; (5认同)

Hel*_*sek 9

dialog.dismiss();
Run Code Online (Sandbox Code Playgroud)

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

在onClickListener中实现它.


ama*_*nes 6

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