我正在使用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);
答案 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);