针对上述特性,实现了一个AlertDialog工具类,进行如下改进。在显示提示框的时候,屏蔽用户点击非提示框区域关闭提示框的功能,以免用户还没来及看清提示信息,不小心碰到屏幕,提示框就关闭了。使用单列模式创建提示框,以免屏幕上显示多个重叠的提示框。具体代码如下:
public class AlertDialogUtil { private static AlertDialog. Builder builder; public static void showAlertDialog( final Context context, String messageText) { // 使用 静态 变量 避免 重复 创建 提示 框 if (builder == null) { builder = new AlertDialog. Builder( context); builder. setTitle(" 提示") . setIcon( R. drawable. ic_ launcher)
. setMessage( messageText) // 参数 设为 false, 屏蔽 用户 点击 非 提示 框 区域, 关闭 提示 框 的 功能 . setCancelable( false) . setPositiveButton(" 确定", new DialogInterface. OnClickListener() { @ Override public void onClick( DialogInterface dialog, int which) { dialog. dismiss(); builder = null; } }). create(). show(); } } }