如何选择textView中指定的单词

时间:2015-09-25 20:19:09

标签: android

我在textView中有一些文字,我希望我文本中Note的所有短语都选择它们,然后将它们的颜色更改为红色。我怎样才能做到这一点?有没有办法呢?

2 个答案:

答案 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));