ダイアログのOKボタンクリックを強制したい

ダイアログはデフォルト設定では枠外のクリックで閉じてしまうので、 OKボタンクリック時になにか重要な処理を行なっている場合その処理が行なわれずに困る。

setCancellable(false)を呼び出す

MaterialAlertDialogBuilder#setCancelable(false)(AlertDialog.Builder#setCancelable(false))を呼び出すと枠外のクリックで閉じなくなる。

val context = context ?: return@setOnClickListener
val builder = MaterialAlertDialogBuilder(context).apply {
    setMessage("OKボタンをクリックしてください")
    setPositiveButton(
        "OK"
    ) { _, _ -> Log.d("test", "ok") }
}
builder.create().apply {
    setCancelable(false)
}.show()