我有一个正在使用主题的活动。对话框样式,使其成为另一个活动上方的浮动窗口。但是,当我在对话框窗口外(在后台活动上)单击时,对话框关闭。我怎样才能阻止这种行为?


当前回答

这是对你所有问题的完美回答....希望你喜欢用Android编程

new AlertDialog.Builder(this)
            .setTitle("Akshat Rastogi Is Great")
            .setCancelable(false)
            .setMessage("I am the best Android Programmer")
            .setPositiveButton("I agree", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();

                }
            })
            .create().show();

其他回答

为了防止对话框在返回键按下时被取消,使用这个

dialog.setCancelable(false);

为了防止对话框在外部触摸时消失,使用这个

 dialog.setCanceledOnTouchOutside(false);

当在onCreate中使用dialog作为一个活动时,添加这个

setFinishOnTouchOutside(false);

简单地说,

alertDialog.setCancelable(false);

防止用户在对话框外单击。

在jetpack组合中,使用遣散onclickoutside = false属性来防止关闭。

    AlertDialog(
        title = {
            Text("Title")
        },
        text = {
            Text(text = name)
        },
        onDismissRequest = onDismiss,
        confirmButton = {
            TextButton(onClick = onDismiss ) {
                Text("Yes")
            }
        },
        dismissButton = {
            TextButton(onClick = onDismiss ) {
                Text("Cancel")
            }
        },
        properties = DialogProperties(
            dismissOnClickOutside = false
        )
    )

}

警告对话框已弃用,因此使用对话框对话框=新对话框(此);

防止外界接触

dialog.setCanceledOnTouchOutside(false);