检查android中对话框的状态

时间:2013-04-05 12:03:29

标签: android

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

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 个答案:

答案 0 :(得分:2)

您可以查看

if (dialog.isShowing())

它应该是你需要的

答案 1 :(得分:2)

你可以使用这段代码:

builder.setOnDismissListener(new DialogInterface.OnDismissListener() {

            @Override
            public void onDismiss(DialogInterface dialog) {
                // TODO Auto-generated method stub
                Activity.finish();
                }
            });

答案 2 :(得分:1)

很遗憾,isShowing()类中未包含AlertDialog.Builder方法,但Dialog类包含isShowing();

AlertDialog.Builder用于创建AlertDialog。获得AlertDialog的此实例后,您可以通过在其上调用isShowing()来确定它是否仍然显示。

答案 3 :(得分:0)

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

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

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

如果您想要使用ok按钮进行对话,您可以在构建器上使用 - setOnCancelListener,setOnDissmisListener等方法。