解除对话框错误

时间:2015-03-22 12:30:27

标签: android dialog

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

 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函数中但它没有用。

谢谢!

2 个答案:

答案 0 :(得分:0)

查看StackOverflow上帖子的以下链接,并阅读有关使用DialogFragment的答案及其原因:

Prevent dialog dismissal on screen rotation in Android

答案 1 :(得分:0)

试试这个:

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();