我通过以下方式创建对话框:
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();
}
然后我在我的活动中使用它。如何检查对话框的状态。我的意思是我想检查对话框何时被取消或关闭。这可以做到这一点吗?我有一个例子,当用户点击后退按钮并关闭对话框时,我想要在关闭对话框时完成活动。这是检查对话框是显示还是已关闭的任何方法?
答案 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等方法。