如何在 Alertdialog 上添加文本和可点击的 URL 链接?

use*_*840 4 android android-alertdialog

我阅读了示例代码并尝试了以下内容,但它不起作用。文本似乎不是超链接。请帮忙:(

String randomString = XXXX.getString();
        if(randomString .contains("XXXX"))
        {
            TextView tv  = new TextView(this);
            tv.setMovementMethod(LinkMovementMethod.getInstance());
            tv.setText(randomString +"/n"+Html.fromHtml("<a href=https://play.google.com/store/apps/details?id=com.xxxxxxxxx>Click Here</a>"));
            AlertDialog dialog = new AlertDialog.Builder(activity.this)
            .setView(tv)
            .setPositiveButton("OK!", new DialogInterface.OnClickListener()
            {

                public void onClick(DialogInterface dialog, int which)
                {

                }
            })
            .show();

        }
Run Code Online (Sandbox Code Playgroud)

编辑:这项工作:

tv.setText(Html.fromHtml("<br><a href=https://play.google.com/store/apps/details?id=com.xxxxxxxxx>Click Here</a>"));
Run Code Online (Sandbox Code Playgroud)

没有 randomString+

只要我把 randomString+Html.fromHtml ....“点击这里”变成一个普通文本

但我也想将 randomString 放在 textview 中。

kab*_*uko 5

您的 URL 周围缺少引号。尝试:

Html.fromHtml("<a href='https://play.google.com/store/apps/details?id=com.xxxxxxxxx'>Click Here</a>")
Run Code Online (Sandbox Code Playgroud)

请注意 URL 周围的单引号。

  • 这个+`LinkMovementMethod`,我似乎总是跳过从 Html 部分创建 Spannable (2认同)