38

如何以编程方式关闭 android 中的对话框,例如通过按钮?

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

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

4

5 回答 5

69

您可以dismiss在对话框中调用。

于 2013-08-08T21:23:04.193 回答
14

这是一个如何创建带有 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();
于 2013-08-08T21:22:53.287 回答
9
dialog.dismiss();

只有这条线会关闭它。:-)

在 onClickListener 中实现它。

于 2013-08-08T21:23:01.337 回答
6

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

于 2013-08-08T21:40:08.987 回答
0

替代dismiss();选项,如果您将对话框作为单独的Activity(sa DialogActivity),关闭它的另一种方法是调用:

   finish();

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

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

于 2017-09-07T20:37:04.700 回答