2

テキスト ビューで特定の単語を強調表示したい (より具体的には、Twitter フィードに似ています)。単語は複数回出現する場合があります。以下、ツイッターからの例文を載せておきます。

"ムンバイ マスター ブラスター! #サチン。史上最高の選手。クリケットの伝説 #サチン。 "

ここでは、「#さちん」という言葉を特定の色で強調したいと思います。また、この単語が文字列全体で何回繰り返されるかはわかりません。誰でもこの問題を解決するのを手伝ってくれますか?

4

1 に答える 1

0

次のコードを使用:

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;
}
于 2013-08-24T21:52:59.830 に答える