我首先使用:https://github.com/javiersantos/MaterialStyledDialogs
作为我的对话框的库。
我以这种方式构建它们:
MaterialStyledDialog dialog = new MaterialStyledDialog.Builder(view.getContext())
.setTitle("Image information")
.setCustomView(customView)
.show();
...
我需要检查对话框何时关闭(通过在对话框外部触摸),因为我必须在AtomicBoolean
false
我尝试使用:
dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialogInterface) {
isDialogAlreadyOpen.set(false);
}
});
和onDismissListener
出现在对话框上,但是它们没有被触发,对此问题没有任何想法或解决方法,喜欢检查对话框是否仍在屏幕上/已实例化?不想更改库,我对此很满意。
答案 0 :(得分:0)
选中this issue和this wiki。据我了解,没有setOnCancelListener
或setOnDismissListener
。您需要处理好自己。如果为每个按钮提供回调,则可以实现。如
.onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
Log.d("MaterialStyledDialogs", "Do something!");
})
在onClick
内,您可以设置isDialogAlreadyOpen.set(false);