Android - Highlight a Word In a TextView?

TextView textView = (TextView)findViewById(;

//use a loop to change text color
Spannable WordtoSpan = new SpannableString("partial colored text");        
WordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 2, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

The numbers 2 and 4 are start/stop indexes for the coloring of the text, in this example "rti" would be colored.

So you would basically just find the starting index of your searching word in the title:

int startIndex = titleText.indexOf(term);
int stopIndex = startIndex + term.length();

and then replace the numbers 2 and 4 with the indexes and "partial colored text" with your title string.


insert HTML code for color around word and set it to your textView .


String newString = oldString.replaceAll(textToHighlight, "<font color='red'>"+textToHighlight+"</font>");