gpt4 book ai didi

Android Linkify web 和 @mentions 都在同一个 TextView 中

转载 作者:可可西里 更新时间:2023-11-01 18:49:40 26 4
gpt4 key购买 nike

好的,我昨天问过这个:

AutoLink @mentions in a twitter client

我的@mentions 链接正确。但是为了让它工作,我必须将 android:autoLink="web"用于 TextView 的 xml 中。所以现在我得到了指向@mentions 的链接,但它不再链接 URL。我尝试像这样进行两次单独的 Linkify.addLinks() 调用:

mentionFilter = new TransformFilter() {
public final String transformUrl(final Matcher match, String url) {
return match.group(1);
}
};

// Match @mentions and capture just the username portion of the text.
//pattern = Pattern.compile("@([A-Za-z0-9_-]+)");
pattern = Pattern.compile("(@[a-zA-Z0-9_]+)");
scheme = "http://twitter.com/";

tweetTxt = (TextView) v.findViewById(R.id.tweetTxt);


Linkify.addLinks(tweetTxt, pattern, scheme, null, mentionFilter);
Linkify.addLinks(tweetTxt, Linkify.WEB_URLS);

但是最后被调用的是被应用的那个。谁能告诉我如何让它同时链接 @mentions 和自动链接 URL?

编辑以阐明更多代码。

最佳答案

这是我链接所有 Twitter 链接(提及、主题标签和 URL)的代码:

TextView tweet = (TextView) findViewById(R.id.tweet);

TransformFilter filter = new TransformFilter() {
public final String transformUrl(final Matcher match, String url) {
return match.group();
}
};

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

Pattern hashtagPattern = Pattern.compile("#([A-Za-z0-9_-]+)");
String hashtagScheme = "http://www.twitter.com/search/";
Linkify.addLinks(tweet, hashtagPattern, hashtagScheme, null, filter);

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

关于Android Linkify web 和 @mentions 都在同一个 TextView 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4599786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com