【问题标题】:setCancelable(false) on Alert dialog does not work, when back button is clicked单击后退按钮时,警报对话框上的 setCancelable(false) 不起作用
【发布时间】:2020-03-12 15:06:38
【问题描述】:

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

我添加了 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
}

【问题讨论】:

    标签: android kotlin android-alertdialog


    【解决方案1】:

    查看这个帖子的答案:

    Prevent back button from closing a dialog box

    尤其是这个答案: https://stackoverflow.com/a/28111013/4350431

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

    【讨论】:

    • 嘿,谢谢,如何在 kotlin 中编写这段代码请stackoverflow.com/a/28111013/4350431 alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() { @Override public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { // 防止对话框在后按按钮时关闭 return keyCode == KeyEvent.KEYCODE_BACK; } });
    【解决方案2】:

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

    dialog.setCancelable(false);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-15
      • 1970-01-01
      相关资源
      最近更新 更多