Android 如何在不单击任何按钮的情况下关闭AlertDialog.Builder

Android 如何在不单击任何按钮的情况下关闭AlertDialog.Builder,android,android-alertdialog,Android,Android Alertdialog,以上代码是我的。 我可以通过单击按钮关闭对话框。 但是如果我不想单击任何按钮就取消它。 我怎么做 最好的方法是在UI线程循环器上创建一个处理程序,然后发布一条延迟的消息或可运行的,执行对话框。dismise()您可以使用set设置可取消(true),通过这样做,您可以按下设备的后退按钮。 例如: 使用处理程序延迟调用Dialog.discouse()。这里有一个例子 在活动中定义适当的实例变量: AlertDialog.Builder dialog = new AlertDialog.Build

以上代码是我的。
我可以通过单击按钮关闭对话框。
但是如果我不想单击任何按钮就取消它。

我怎么做

最好的方法是在UI线程循环器上创建一个
处理程序
,然后发布一条延迟的
消息
可运行的
,执行
对话框。dismise()

您可以使用set
设置可取消(true)
,通过这样做,您可以按下设备的后退按钮。 例如:


使用处理程序延迟调用
Dialog.discouse()
。这里有一个例子

活动中定义适当的实例变量

AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setCancelable(true).show();
使用以下代码发布一个新的
Runnable
,它将在
DELAYED\u response
毫秒后关闭对话框:

// number of milliseconds to wait (2 seconds, in this example).
public static final int DELAYED_RESPONSE = 2000;
// define a handler as a private instance variable in your Activity.
private Handler handler = new Handler();

请注意,此代码假定您的
活动
实现了一个方法
dismissDialog()
,该方法将相应地关闭对话框。

AlertDialog.Builder似乎没有cancel()和dismise()函数。但是对话框的id是什么?您也应该阅读并查看不同的创建、显示、编辑和删除方法,删除和取消对话框。是否满足特定要求?它被解雇了?
// number of milliseconds to wait (2 seconds, in this example).
public static final int DELAYED_RESPONSE = 2000;
// define a handler as a private instance variable in your Activity.
private Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
        dismissDialog();
    }
}, DELAYED_RESPONSE);