AlertDialog 点击按钮后不消失

来自Silica Library | 間奏時光
Silica讨论 | 贡献2019年6月5日 (三) 07:22的版本 (创建页面,内容为“Category:Android 2019-06-05 15:15 == 应用场景 ==   File:Alert dialog.png<br>   要求点击「访问官网」后 Dialog 不能消失。<br> ==…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

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