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(); } }); } } });