动态突出显示String中的特定单词

时间:2013-08-24 20:18:54

标签: android

  

我想突出显示文本视图中的特定单词(更具体地说,类似于推特供稿)。这个词可能会多次出现。下面我将发布一个来自twitter的例句。

Mumbai Master Blaster!#Sachin。有史以来最伟大的球员。板球传奇#sachin。

这里我想强调一下特定颜色的“#Sachin”这个词。另请注意,我们不知道这个单词在整个字符串中可以重复多少次。任何人都可以帮我解决这个问题。

1 个答案:

答案 0 :(得分: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;
}