テキスト ビューで特定の単語を強調表示したい (より具体的には、Twitter フィードに似ています)。単語は複数回出現する場合があります。以下、ツイッターからの例文を載せておきます。
"ムンバイ マスター ブラスター! #サチン。史上最高の選手。クリケットの伝説 #サチン。 "
ここでは、「#さちん」という言葉を特定の色で強調したいと思います。また、この単語が文字列全体で何回繰り返されるかはわかりません。誰でもこの問題を解決するのを手伝ってくれますか?
テキスト ビューで特定の単語を強調表示したい (より具体的には、Twitter フィードに似ています)。単語は複数回出現する場合があります。以下、ツイッターからの例文を載せておきます。
"ムンバイ マスター ブラスター! #サチン。史上最高の選手。クリケットの伝説 #サチン。 "
ここでは、「#さちん」という言葉を特定の色で強調したいと思います。また、この単語が文字列全体で何回繰り返されるかはわかりません。誰でもこの問題を解決するのを手伝ってくれますか?
次のコードを使用:
public CharSequence linkifyHashtags(String text) {
SpannableStringBuilder linkifiedText = new SpannableStringBuilder(text);
Pattern pattern = Pattern.compile("@\\w");
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
int start = matcher.start();
int end = matcher.end();
String hashtag = text.substring(start, end);
ForegroundColorSpan span = new ForegroundColorSpan(Color.BLUE);
linkifiedText.setSpan(span, 0, hashtag.length(), 0);
}
return linkifiedText;
}