0

我通过以下方式创建对话框:

protected void showAlertDialog(String title, String message) {
    AlertDialog.Builder builder = new Builder(this);
    if(title != null) {
        builder.setTitle(title);
    }
    if(message != null) {
        builder.setMessage(message);
    }
    builder.setPositiveButton("OK", new OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            backToMainActivity();
        }
    });
    builder.show();
}

之后我在我的活动中使用它。如何检查我的对话框的状态。我的意思是我想检查对话框何时被取消或关闭。这有什么办法吗?我有一个示例,当用户单击后退按钮并关闭对话框时,我想在关闭对话框时完成活动。这是检查对话框是否正在显示或已关闭的任何方法?

4

4 回答 4

2

你可以检查

if (dialog.isShowing())

它应该是你需要的

于 2013-04-05T12:05:07.870 回答
2

你可以使用这段代码:

builder.setOnDismissListener(new DialogInterface.OnDismissListener() {

            @Override
            public void onDismiss(DialogInterface dialog) {
                // TODO Auto-generated method stub
                Activity.finish();
                }
            });
于 2013-04-05T12:41:28.263 回答
1

不幸的是,该isShowing()方法不包含在AlertDialog.Builder类中,但是Dialog该类包含isShowing();

AnAlertDialog.Builder用于创建AlertDialog. 一旦你有了这个 an 实例AlertDialog你可以通过调用 isShowing() 来确定它是否仍在显示。

于 2013-04-05T12:08:55.100 回答
0

您可以在对话框中添加取消按钮:

builder.setNegativeButton("Cancel", new OnClickListener() {

@Override
        public void onClick(DialogInterface dialog, int which) {
            //Your code here
        }
    });

如果您只想要带有确定按钮的对话框,您可以在您的构建器上使用诸如 setOnCancelListener、setOnDissmisListener 之类的方法。

于 2013-04-05T14:50:02.120 回答