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

时间:2015-03-06 23:44:16

标签: android android-dialog material-design

我正在使用this材质对话框库,当我单击肯定按钮时,将调用onPositive函数并关闭对话框。如何阻止对话框关闭/解除?

感谢您的回答。

3 个答案:

答案 0 :(得分:24)

添加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();

答案 1 :(得分:0)

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

  @NonNull
  @Override
  public MaterialAlertDialogBuilder setCancelable(boolean cancelable) {
    return (MaterialAlertDialogBuilder) super.setCancelable(cancelable);
  }

答案 2 :(得分:0)

autoDismiss()已过时。使用setCancelable():

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

它可以防止对话框在以下情况下消失:

  • 按下后退
  • 在对话框外单击