-1
我有一个句子的字符串和一个单词列表,如果在该字符串中出现了某个单词,需要突出显示。 我该怎么做?我有一个句子的字符串和一个单词列表,如果该字符串中有一个出现,那么这些单词需要突出显示。我该怎么做
我有一个句子的字符串和一个单词列表,如果在该字符串中出现了某个单词,需要突出显示。 我该怎么做?我有一个句子的字符串和一个单词列表,如果该字符串中有一个出现,那么这些单词需要突出显示。我该怎么做
您可以使用Html。
for(String word: listString){
if(sentence.contains(word){
sentence = sentence.replace(word,"<font color='red'>"+word+"</font>");
}
}
mTextView.setText(Html.fromHtml(sentence));
我设法用SpannableStringBuilder来做到这一点。
下面的代码:
@Override
public void renderFinalTranscript(final String transcript, String filler)
{
getActivity().runOnUiThread(() -> {
final Pattern p = Pattern.compile(filler);
final Matcher matcher = p.matcher(transcript);
SpannableStringBuilder sb = new SpannableStringBuilder(transcript);
while(matcher.find()){
sb.setSpan(CharacterStyle.wrap(new ForegroundColorSpan(Color.RED)), matcher.start(), matcher.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
transcribeText.append(spanny);
});
}
我叫for循环的这种方法,并得到想要的结果
最终的字符串高亮只在列表中从最后一个项目字。 – roshanthejoker
我的错误。字符串是不可变的类。 – Pr38y
那么我要在每次迭代中保存结果吗? – roshanthejoker