安卓TextView如何将文本显示为链接

4

我在我的应用程序中有一个TextView,我想将文本显示为链接。

我有一个"查看地图"字符串,我想将其显示为超链接(蓝色和带下划线)。

我尝试了以下代码:

tvSeeMap.setText(getResources().getString(R.string.see_map));
    Linkify.addLinks(tvSeeMap, Linkify.ALL);

但是它不起作用。


看一下这个链接。它应该会对你有所帮助。 - Raghunandan
1
你想让它只显示为超链接还是显示并具有超链接的功能(可点击)? - Marcin Orlowski
只需将其显示为超链接,我将在点击时打开Google地图应用程序。 - Veljko
展示你想让 Linkify 处理的示例文本。 - Marcin Orlowski
3个回答

5
我找到了解决方法。
 String tempString = new String(getResources().getString(R.string.see_map));
 SpannableString content = new SpannableString(tempString);
 content.setSpan(new UnderlineSpan(), 0, tempString.length(), 0);
 tvSeeMap.setText(content);
 tvSeeMap.setTextColor(getResources().getColor(R.color.blue));

就是这么简单。

2

使用

Linkify.addLinks(tvSeeMap,Linkify.WEB_URLS);

替代

Linkify.addLinks(tvSeeMap, Linkify.ALL);

如何在textView中显示超链接或网址链接


Linkify.ALL 是 0x0F,而 Linkify.WEB_URLS 是 0x01 - 这是您正在通过此更改解决的错误吗? - Marcin Orlowski

0

链接是否有 "http://" 前缀?如果没有,请尝试添加它。或者可能是链接前后没有空格


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接