android - AlertDialog 关闭不工作

标签 android android-alertdialog

我有以下 AlertDialog:

AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(mContext);
dialogBuilder.setTitle(R.string.title);
dialogBuilder.setMessage(mContext.getString(R.string.message));
dialogBuilder.setPositiveButton(R.string.positive, new MyOnClickListener());
dialogBuilder.setNegativeButton(R.string.negative, new MyOnClickListener());
dialogBuilder.show();

使用这个 ClickListener

public static class MyOnClickListener implements DialogInterface.OnClickListener{
    @Override
    public void onClick(DialogInterface dialog, int which) {
      dialog.dismiss();
    }
  }

我希望在单击任一按钮时关闭对话框,但对话框保持打开状态。

我调试了 onClick 方法和行

dialog.dismiss() 

正在执行,但没有任何反应。

我哪里出错了,或者我该如何解决这个问题?

最佳答案

在顶部声明您的 AlertDialog,如:

private AlertDialog myAlertdialog;

然后用

替换你的dialogBu​​ilder.show();
myAlertDialog = dialogBuilder.create();
myAlertDialog.show();

然后你可以调用myAlertDialog.dismiss();

关于android - AlertDialog 关闭不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35554272/

相关文章:

Android:AppCompat 21,如何将返回图标和溢出图标更改为自定义图标?

android - 如何区分 Longclicks 和 onclick 事件?

android - 使用警告对话框编辑文本

android - 使用 XML(Android API 级别 23)在警报对话框中设置消息文本外观

android - 导入 android.app.NotificationChannel 错误

android - ajax 调用可以在 Android 中完成吗?

Android:单击链接时如何禁用 Web View 中的默认橙色边框

android - 在 fragment 中找不到警报对话框的 View

java - 更改 ListView 中 TextView 的文本

android - 如何在运行时以编程方式在 Android 上的 native 播放器中获取堆栈跟踪