2015-09-25 45 views
0

我在textView中有一些文字,我希望文本中的所有短語與Note一樣選中它們,並將它們的顏色更改爲紅色。我怎樣才能做到這一點?有沒有一種方法呢?如何選擇textView中指定的單詞

+0

http://stackoverflow.com/questions/32778859/find-next-or-previous-word-on-textview/32780509# 32780509 – penta

+0

你可以在這個[問題]中檢查答案(http://stackoverflow.com/questions/8612652/select-a-word-on-a-tap-in-textview-edittext)。 – abozaid

回答

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); 
    } 
} 
0

您可以執行以下操作以突出你的TextView所有的「注」字.. 首先設置來改變顏色的字:

String stringtoChange = "Note"; 

然後更改顏色使用String類的replaceAll方法:

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

wh ERE textToHighlight是你的TextView文本,最後設置編輯文本TextView的:

your textView.setText(Html.fromHtml(textToHighlight)); 
相關問題