getFilter()中的publishResults

时间:2014-10-29 10:11:09

标签: java android autocomplete adapter

我正在制作一个过滤器,以便在我的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调试方法时,一切正常。有什么建议?干杯!

0 个答案:

没有答案