如何在适配器项目视图中自动链接@mentions?

时间:2017-08-21 21:48:05

标签: java android linkify

我正在使用Linkify搜索@symbol之后的字符串。为什么他们不在我的TextView中变成链接?我是否必须在XML中设置其他内容,例如android:linksClickable="true"

feedItemView.messageText.setText(message.getString("messageText"));
Pattern userMatcher = Pattern.compile("\\B@[^:\\s]+");
String userViewURL = ".activity.UserProfileActivity://";
Linkify.addLinks(feedItemView.messageText, userMatcher, userViewURL);

1 个答案:

答案 0 :(得分:0)

我使用了以下代码:

feedItemView.messageText.setText(yeet.getString(ParseConstants.KEY_NOTIFICATION_TEXT));

Linkify.TransformFilter filter = (match, url) -> match.group();

Pattern mentionPattern = Pattern.compile("@([A-Za-z0-9_-]+)");
String mentionScheme = "http://www.twitter.com/";
Linkify.addLinks(feedItemView.messageText, mentionPattern, mentionScheme, null, filter);

我还确保从TextView的XML中删除android:autoLink="all"。这将删除Web链接的自动链接功能,因此您需要将此添加到处理显示TextView的方法:

Pattern urlPattern = Patterns.WEB_URL;
Linkify.addLinks(tweet, urlPattern, null, null, filter);