首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓: Linkify TextView

安卓: Linkify TextView
EN

Stack Overflow用户
提问于 2011-01-20 19:02:08
回答 9查看 35.4K关注 0票数 30

我有文本视图,我需要链接。这就是我要做的..

代码语言:javascript
运行
复制
TextView text = (TextView) view.findViewById(R.id.name);
text.setText("Android...Update from Android");
Pattern pattern = Pattern.compile("Android");
String scheme = "www.android.com";
Linkify.addLinks(text, pattern, scheme);

文本视图正确显示文本"Android...Update from Android",但我面临两个问题。

1)我的文本字符串有两个字符串"Android“的实例。因此,两个文本都是链接的。我只希望第一次出现时被链接。我该怎么做呢?

2)当我点击linkfy文本时,它会打开浏览器,但URL很奇怪。它尝试打开的url是"www.comandroid“。我不知道这里出了什么问题。URL中的文本"android“将被替换。在链接文本时,我做错了什么吗?

任何帮助都将受到高度的感谢。

EN

Stack Overflow用户

发布于 2016-06-01 23:45:39

我认为你真正需要的是像这样简单的东西:

代码语言:javascript
运行
复制
final TextView textView = ((BodyViewHolder) holder).textView;
textView.setText(text);
Linkify.addLinks(textView, Linkify.WEB_URLS); // I would do this only during view creation, btw.

您正在跟踪一个特定的URL。有些人建议使用Linkigy.ALL,但您不希望这样:

代码语言:javascript
运行
复制
public static final int ALL = WEB_URLS | EMAIL_ADDRESSES | PHONE_NUMBERS | MAP_ADDRESSES;

此外,其他人建议添加以下内容:

代码语言:javascript
运行
复制
textview.setMovementMethod(LinkMovementMethod.getInstance());

在添加链接规则之后,但addLinks已经在其内部执行了该操作;-)

干杯!

票数 3
EN
查看全部 9 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4746293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档