Android AutoCompleTExtView, похоже, игнорирует фильтр пользовательского arrayadapter

StackOverflow https://stackoverflow.com/questions/5488680

Вопрос

Все, что я хочу сделать, это отображать флажок при каждом результате результатов AutoCompleTextView (которые являются строками).

Я написал пользовательский адаптер массива, который реализует фильтруемый.Я добавил простой фильтр, который называется (я проверял это) и возвращает ожидаемые результаты.Однако отображаемые результаты совершенно разные.

Вот мой фильтр-код:

private class MyFilter extends Filter
    {
        @Override
        protected FilterResults performFiltering(CharSequence constraint)
        {
            FilterResults results = new FilterResults();
            if ((constraint == null) || (constraint.length() == 0))
            {
                synchronized (mLock)
                {
                    ArrayList<String> list = new ArrayList<String>();
                    results.values = list;
                    results.count = list.size();
                }
            }
            else
            {
                String constr = constraint.toString().toLowerCase();
                final ArrayList<String> newItems = new ArrayList<String>();
                for (String temp : items)
                {
                    if (temp.toLowerCase().startsWith((constr)))
                    {
                        newItems.add(temp);
                    }
                }
                results.values = newItems;
                results.count = newItems.size();
            }
            return results;
        }

        @Override
        protected void publishResults(CharSequence constraint,
                FilterResults results)
        {
            if (results.count > 0)
            {
                notifyDataSetChanged();
            }
            else
            {
                notifyDataSetInvalidated();
            }
        }
    }
.

Я что-то скучаю? Спасибо!

Это было полезно?

Решение

I forgot to set my results as the new items of the adapter.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top