Сначала взгляните на исходный код ArrayAdapter .
Вы заметите, что у него есть приватное поле mFilter
, которое используется только в методе getFilter()
. Итак, просто увеличьте ArrayAdapter
и переопределите getFilter()
, чтобы вернуть Filter
.
Лучше всего реализовать ваш Filter
так же, как ArrayFilter
: как закрытый внутренний класс, поэтому он имеет доступ к закрытым полям ArrayAdapter
.
Дайте мне знать, достаточно ли информации для выполнения задачи.