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