AlertDialog 点击按钮后不消失

来自Silica Library | 間奏時光
跳到导航 跳到搜索

2019-06-05 15:15

应用场景

  Alert dialog.png
  要求点击「访问官网」后 Dialog 不能消失。

解决方法

  原来的构建方法:

new AlertDialog.Builder(activity)
        .setTitle("软件更新")
        .setMessage("您的软件版本过旧,请更新。\n由于您目前用的是 debug 版本,请卸载后重新到官方网站下载安装。")
        .setPositiveButton("访问官网", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                ToolsUtil.openWithDefaultBrowser("https://www.baidu.com", activity);
            }
        })
        .show()
        .setCancelable(false);

  修改为:

AlertDialog.Builder builder = new AlertDialog.Builder(ac);
builder.setTitle("软件更新");
builder.setMessage("您的软件版本过旧,请更新后使用。\n由于您目前用的是 debug 版本,请卸载后重新到官方网站下载安装。")
        .setPositiveButton("访问官网", null)
        .setCancelable(false);

final AlertDialog ad = builder.create();
ad.show();

ad.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        ToolsUtil.openWithDefaultBrowser("https://www.baidu.com/", ac);
    }
});