ФОН:
У меня есть GridView на основе довольно сложного Адаптера класса, который расширяет BaseAdapter .Я обнаружил, что в getView я выполняю слишком много работы, чтобы вычислить, что отображать, и что часто число элементов, которые я хочу отобразить, изменяется во время этих вычислений. getView даже вызывается несколько раз для одной и той же позиции.Похоже, что notifyDataSetChanged () вызывается слишком рано.
Это вызвало много боли в моем коде.Я переместил большую часть кода в другие подпрограммы, но обнаружил, что мне все еще нужно выполнить некоторую фильтрацию выборок во время окончательного отображения.
Я обошел это, установив item.enabled (false) , который работает, но я бы лучше исключил этот элемент все вместе.
Я могуне удается найти жизненный цикл для GridView и соответствующего адаптера, но я определил, что getCount () вызывается несколько раз перед отображением элементов и пока я могу подключить свои изменениятам, мне просто кажется, что мне приходится слишком много работать здесь.
ВОПРОС:
Можно ли использовать класс Filter в соединениях с адаптером , привязанным к GridView ?
Например, мой адаптер для GridView имеет 36 элементов для отображения, а содержащая его активность имеет TextView , установленное в значение «3», что означаетпоказывать только каждый 3-й предмет adapter.notifyDataSetChanged () вызывается и немедленно .getCount () хочет вернуть 36, что действительно мешает getView
Я знаю тамздесь не так много специфики, потому что мне нужно понять концепции, а не просто найти решение для конкретной проблемы.
Должен быть какой-то функционал или способ взглянуть на проблему, которую я пропускаю.