AlertDialog.Builder无法直接使用dismiss()将对话框关闭的解决方法
法一:直接使用AlertDialog关闭
.setPositiveButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
AlertDialog alertDialog = builder.show();
alertDialog.dismiss();
}
});
法二:通过调用AlertDialog.Builder的dismiss监听事件关闭
.setPositiveButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
builder.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialogInterface) {
dialogInterface.dismiss();
}
});
}
}
});