【发布时间】:2019-11-05 20:22:34
【问题描述】:
我试图在 recycleView 列表中突出显示查询的文本。 我的要求是忽略空格并突出显示文本。
我的名单:[“罗伯特·德尼罗”、“杰克·尼科尔森”、“马龙·白兰度”]
搜索查询:德尼罗
预期:罗伯特 De Niro
下面是我的代码
private Spannable getHighlightedText(String wholeText, String searchText) {
if (searchText != null && wholeText.toLowerCase().contains(searchText.toLowerCase())) {
int startPos = wholeText.toLowerCase().indexOf(searchText.toLowerCase());
int endPos = startPos + searchText.length();
Spannable spanString = Spannable.Factory.getInstance().newSpannable(wholeText);
spanString.setSpan(new ForegroundColorSpan(getContext().getResources().getColor(R.color.primary)), startPos, endPos, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return spanString;
}
return new SpannableString(wholeText);
}
【问题讨论】:
标签: android searchview spannablestring