Как записать пользовательский фильтр для ListView с ArrayAdapter

У меня есть ListView, который подключен к ArrayAdapter, где Художник является простым моим классом, который имеет только идентификатор и имя.

Теперь я хочу отфильтровать ListView, таким образом, я звоню:

artistAdapter.getFilter().filter("bla", new Filter.FilterListener() {
    public void onFilterComplete(int count) {
        Log.d(Config.LOG_TAG, "filter complete! count: " + count); // returns 8
        Log.d(Config.LOG_TAG, "adapter count: " + artistAdapter.getCount()); // return 1150
    }
});

Первый оператор отладки печатает количество 8. Это - счет corrent listitems, которые запускаются с "bla", но адаптер не получает его. Второй оператор отладки печатает количество 1150 объекты. Это - полное количество объектов в списке.

Так так или иначе фильтр не говорит адаптеру, что он фильтровал базовые данные.

Я хочу знать теперь: я имею, действительно кодируют что-то в моем адаптере, таким образом, это получает обновления от фильтра? Я должен записать пользовательский фильтр? Что я должен сделать?

14
задан bstpierre 23 March 2011 в 17:02
поделиться