Вы также можете сделать это, используя Spannable , что удобно, поскольку вы знаете положение слова:
SpannableString res = new SpannableString(entireString);
res.setSpan(new ForegroundColorSpan(color), start, end, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
Где entireString
- строка, в которойслово для выделения существует, color
- это цвет, который требуется для выделенного текста, start
- это позиция слова, а end
- это место, где заканчивается слово (start + word.length ()).
SpannableString res затем может быть применен к вашему текстовому обзору как обычная строка:
textView.setText(res);
Примечание: Если вы хотите, чтобы фон текста получал цвет, а несам текст, используйте BackgroundColorSpan
вместо ForegroundColorSpan
.
Edit: В вашем случае это будет что-то вроде этого (вам придется сохранить значения linecount и indexfoundкогда вы читаете весь текст):
for(String test="", int currentLine=0; test!=null; test=br2.readLine(), currentLine++){
if(currentLine==linecount){
SpannableString res = new SpannableString(test);
res.setSpan(new ForegroundColorSpan(0xFFFF0000), indexfound, indexfound+textword.length(), SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
}
tv.append("\n"+" "+test);
}