我正在制作一个过滤器,以便在我的ACTV中使用自动完成功能。
@Override
public Filter getFilter() {
Filter filter = new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
if (constraint != null) {
for (FriendsModel item : friend) {
if (item.getName().toLowerCase().startsWith(constraint.toString().toLowerCase()))
suggestions.add(item);
}
FilterResults filterResults = new FilterResults();
filterResults.values = suggestions;
filterResults.count = suggestions.size();
return filterResults;
} else {
return new FilterResults();
}
}
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
ArrayList<FriendsModel> filteredList = (ArrayList<FriendsModel>) results.values;
}
};
return filter;
}
}
当我输入B时,例如,在filteredList中我将只有1个值,这是正确的,因为我只有1个朋友,其名称以B开头。问题是,在下拉列表中autocompletetextview,它与朋友一起返回整个列表,我似乎无法分辨问题的来源。
从Filter调试方法时,一切正常。有什么建议?干杯!