我正在尝试在recycleView列表中突出显示查询的文本。我的要求是忽略空格并突出显示文本。
我的列表:[“罗伯特·德尼罗”,“杰克·尼科尔森”,“马龙·白兰度”]
搜索查询:DeNiro
期望:罗伯特De N iro
下面是我的代码
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);
}
只需在检查之前从搜索字符串中删除空格
searchText= searchText.trim().replace(" ", "");