我有一个edittext和listview有一些值。在edittext中键入文本时,listview内容将根据edittext中键入的值进行更改。
现在的问题是,字符串区分大小写。即,如果原始文字为Apparel
,则如果我们输入apparel
或appa
,则原始文字不会显示。
我想让字符串搜索不区分大小写。
我的代码是,
private List<SearchList> searchTerms(List<SearchList> search_list, String s) {
List<SearchList> matches = new ArrayList<SearchList>();
for (SearchList search_lists : search_list) {
if (search_lists.search_term.contains(s)) {
matches.add(search_lists);
}
}
return matches;
}
有没有办法实现这一目标。我已经尝试了很多。
答案 0 :(得分:4)
string contains(); 函数区分大小写。 从您的问题中,我注意到您的列表中包含大写字母的项目。 因此,将 toLowerCase()应用于双方都会将其删除。
if (search_lists.search_term.toLowerCase().contains(s.toLowerCase()))
{
matches.add(search_lists);
}
希望这有帮助。
答案 1 :(得分:2)
尝试降低()字符串:
private List<SearchList> searchTerms(List<SearchList> search_list, String s) {
List<SearchList> matches = new ArrayList<SearchList>();
for (SearchList search_lists : search_list) {
if (search_lists.search_term.contains(s.toLowerCase())) {
matches.add(search_lists);
}
}
return matches;
}
答案 2 :(得分:0)
做同样的事情并进行比较,希望它会起作用:)
EditText editText= (EditText) findViewById(R.id.editText);
String editTextString=editText.getText().toString();
editTextString.equalsIgnoreCase(yourCompare);