关闭对话框错误

Dismiss dialog error

我使用此代码显示了一个对话框:

 Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setMessage("New game")
                        .setCancelable(false)
                        .setPositiveButton("Yes",
                                new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog, int id) {
                                        clear();
                                    }
                                }).show();

但是当我旋转屏幕时出现错误:android.view.WindowLeaked 我不知道为什么。 我试着写 dialog.dismiss()dialog.cancel() 在对话框的 onClick 函数中,但它不起作用。

谢谢!

看看 Whosebug 上 post 的下面 link,并阅读关于使用 DialogFragment 的答案和原因:

Prevent dialog dismissal on screen rotation in Android

试试这个:

AlertDialog.Builder builder1 = new AlertDialog.Builder(context);
            builder1.setMessage("Write your message here.");
            builder1.setCancelable(true);
            builder1.setPositiveButton("Ok",
                    new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
            //put your code that needed to be executed when okay is clicked
            dialog.cancel();


            }
            });
            builder1.setNegativeButton("Cancel",
                    new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
                }
            });

            AlertDialog alert11 = builder1.create();
            alert11.show();