1

我使用了以下代码:

Alertdialog alertDialog =null;
AlertDialog.Builder builder=new Builder(this);
        builder.setTitle(title);
        builder.setMessage(message);

        builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {

            }
        });
        alertDialog=builder.create();
        builder.create().show();

当我单击主页键(“确定”按钮中没有任何用户事件)时,我使用以下代码关闭警报对话框:

@Override
    protected void onPause() {

            if(alertDialog != null){
               alertDialog.dismiss();
            }

        }

        super.onPause();
    }

重新启动应用程序时,警报对话框不会消失。

我做错了什么?

4

2 回答 2

2

问题是您在这里创建了两个 AlertDialog 实例:

alertDialog=builder.create();
builder.create().show();

然后你在实际上没有显示的对话框上调用了dismiss()。这应该可以解决问题:

alertDialog=builder.show();
于 2013-01-05T14:04:49.183 回答
0

我在 onPause() 中调用了 dismiss() 但它不起作用,因为我将变量设置为static

当我删除静态词时,这个问题得到了解决......

于 2020-12-18T06:19:03.607 回答