代码之家  ›  专栏  ›  技术社区  ›  Ololoking

材质对话框库-防止在onPositive函数调用时关闭/关闭对话框

  •  12
  • Ololoking  · 技术社区  · 10 年前

    我正在使用 this 材质对话框库,当我单击“正”按钮时 onPositive 函数并关闭对话框。如何防止对话框关闭/关闭?

    谢谢回答。

    3 回复  |  直到 8 年前
        1
  •  30
  •   Djordje Tankosic    5 年前

    添加 autoDismiss(false) 并在回调方法中手动关闭对话框。

      new MaterialDialog.Builder(mainActivity)
                .title(R.string.title)
                .autoDismiss(false)
                .content(R.string.content)
                .positiveText(R.string.positive)
                .negativeText(R.string.negative)
                .positiveColor(setColor())
                .onPositive((dialog, which) => {
                    // do something positive here
                    dialog.dismiss();
                })
                .onNegative((dialog, which) => {
                    // do something negative here
                    dialog.dismiss();
                })
                .negativeColor(setColor())
                .typeface(titleAndActions, contentAndListItems)
                .build()
                .show();
    
        2
  •  1
  •   Pedro Sequeira    5 年前

    .autoDismiss不再存在。 您应该改用.setCanceable(false)。

      @NonNull
      @Override
      public MaterialAlertDialogBuilder setCancelable(boolean cancelable) {
        return (MaterialAlertDialogBuilder) super.setCancelable(cancelable);
      }
    
        3
  •  0
  •   TabascoLosco    4 年前

    autoDismiss()已弃用。使用setCancelable():

    MaterialAlertDialogBuilder(this)
                    .setTitle(R.string.app_name)
                    .setMessage(R.string.message)
                    .setCancelable(false)
                    .setPositiveButton("ok") { _, _ -> finish() }.show()
    

    当出现以下情况时,它将阻止对话框关闭:

    • 背面已按下
    • 在对话框外部单击