我在textView
中有一些文字,我希望我文本中Note
的所有短语都选择它们,然后将它们的颜色更改为红色。我怎样才能做到这一点?有没有办法呢?
答案 0 :(得分:0)
试试这个
String text = "Some text in the text view.";
String searchText = "the";
int startPos = -1, endPos = -1;
if(text.toLowerCase().contains(searchText.toLowerCase())){
startPos = text.toLowerCase().indexOf(searchText.toLowerCase());
endPos = startPos + searchText.length();
Spannable spanText = Spannable.Factory.getInstance().newSpannable(text);
if (startPos != -1){
spanText.setSpan(new ForegroundColorSpan(Color.RED), startPos, endPos, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
yourTextView.setText(spanText);
}
}
答案 1 :(得分:0)
您可以执行以下操作以突出显示textview中的所有“注释”字词。 首先设置单词改变颜色:
String stringtoChange = "Note";
然后使用String类的replaceAll方法更改颜色:
textToHighlight = textToHighlight.replaceAll(stringtoChange, "<font color='red'>" + stringtoChange + "</font>");
textToHighlight是textView文本,最后将编辑后的文本设置为textView:
your textView.setText(Html.fromHtml(textToHighlight));