单击后退按钮时,警告对话框中的 setCancelable(false) 不起作用

setCancelable(false) on Alert dialog does not work, when back button is clicked

我有一个警告对话框,我想让它不可取消,如果用户点击设备上的后退按钮,对话框就会消失。我该如何阻止它这样做。

我已经添加了 setCancelable(false) 但它不起作用。

关于如何解决这个问题的任何想法

这是我的代码。

override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
    app.bus.post(ScreenDimEvent(false))

    val builder = AlertDialog.Builder(activity)

    val inflater = activity!!.layoutInflater

    @SuppressLint("InflateParams")
    val inflatedView = inflater.inflate(R.layout.dialog_quality_control, null)

    ButterKnife.bind(this, inflatedView)

    builder
            .setView(inflatedView)
            .setCancelable(false)
            .setTitle(getString(R.string.quality_control) + " - " + qualityControlCheck.name)
            .setPositiveButton(R.string.fuel_order_signature_dialog_save) { dialog, id ->
                validator.validate()
            }

    presenter.setView(this)
    presenter.init(fuelOrderId, qualityControlCheck)

    dialog = builder.create()
    dialog.setCancelable(false)//TRIED THIS BUT DID NOT WORK
    dialog.setCanceledOnTouchOutside(false)

    return dialog
}

添加到对话框配置,在builder.create();

之后
dialog.setCancelable(false);

检查此线程的答案:

Prevent back button from closing a dialog box

尤其是这个答案:

alertDialog?.setOnKeyListener { dialog, keyCode, event -> keyCode == KeyEvent.KEYCODE_BACK }