我希望获得带有我输入值的项目,但它无法正常工作。
为了理解我的问题,我将以示例的方式展示它。
我想得到的(如果存在于listview中)是:
Input: Africa, Asia, Europe
Output:
Reg1: Africa
Reg2: Europe
Reg3: Asia
Reg4: Asia, Africa
Reg5: Africa, Europe
Reg6: Asia, Europe
Reg7: Africa, Asia, Europe
我真正得到的是(不好):
Input: Africa, Asia, Europe
Output:
Reg7: Africa, Asia, Europe
或(不太好)
Input: Africa
Output:
Reg4: Asia, Africa
Reg5: Africa, Europe
Reg7: Africa, Asia, Europe
这是我的过滤器......
@Override
protected FilterResults performFiltering(CharSequence constraint) {
constraint = constraint.toString().toLowerCase();
FilterResults result = new FilterResults();
if(constraint != null && constraint.toString().length() > 0) {
ArrayList<Country> filteredItems = new ArrayList<Country>();
for(int i = 0, l = originalList.size(); i < l; i++) {
Country country = originalList.get(i);
if(country.getRegion().toString().toLowerCase().contains(
constraint.toString().toLowerCase()))
filteredItems.add(country);
}
result.count = filteredItems.size();
result.values = filteredItems;
} else {
synchronized(this) {
result.values = originalList;
result.count = originalList.size();
}
}
return result;
}
请帮帮我们。