尝试做一些相当简单的事情。
采取这样的文字
用户名:这是我正在做的评论
它位于单个 TextView 中。我想让用户名成为一个链接。我决定最简单的方法是将用户名用“$@”之类的东西括起来,这样它就变成了
"$@User Name:$@ 这是我正在做的评论
这样我就可以使用下面的正则表达式
Pattern userName = Pattern.compile(".*\\$@(.+)\\$@.*");
使用 Linkify 并使其成为链接。但是,显然我需要删除分隔符,所以下面是代码
title.setText(titleText);
Linkify.TransformFilter transformer = new Linkify.TransformFilter() {
@Override
public String transformUrl(Matcher match, String url) {
return match.group(1);
}
};
Linkify.addLinks(title, userName, "content://user=", null, transformer);
然而,由于某种原因,整个文本变成了一个巨大的链接,并且文本根本没有被转换。