在Android应用程序中,我向用户显示没有按钮的AlertDialog,只显示一条消息。如何以编程方式销毁AlertDialog以使其不再可见?我尝试使用cancel()和dismiss(),但它们不起作用,视图仍在那里。
HTML
然后我试了
AlertDialog.Builder test = new AlertDialog.Builder(context);
test.setTitle("title");
test.setCancelable(true);
test.setMessage("message...");
test.create().show();
和
test.show().cancel()
但没有工作。
答案 0 :(得分:8)
您应该参考AlertDialog本身,而不是构建器。
AlertDialog.Builder test = new AlertDialog.Builder(context);
test.setTitle("title");
test.setCancelable(true);
test.setMessage("message...");
ALertDialog testDialog = test.create();
testDialog.show(); // to show
testDialog.dismiss(); // to dismiss
答案 1 :(得分:4)
AlertDialog.Builder test = new AlertDialog.Builder(context);
...
AlertDialog dialog = test.create().show();
稍后你想隐藏它:
dialog.dismiss();
答案 2 :(得分:0)
如果用户触摸
,请将此alertDialog.setCanceledOnTouchOutside(true);
添加到关闭对话框
或点击设备返回按钮
alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
alertDialog.dismiss();
return true;
}
return false;
}
})