RecyclerView: изменение содержимого и обновление набора данных не очищают предыдущий результатAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 RecyclerView: изменение содержимого и обновление набора данных не очищают предыдущий результат

Сообщение Anonymous »

У меня есть список моих данных. У меня также есть фильтры, позволяющие выбирать, какие данные в списке я хочу видеть. По умолчанию я вижу все содержимое.
Я создал RecyclerView, который хорошо заполнен. Проблема заключается в изменении списка в RecyclerView.
Когда я выбираю фильтр, я вызываю метод getFilteredCards(), который получает весь контент с примененными фильтрами. Затем это становится новым списком, связанным с RecyclerView.Adapter (например, используемым в getItemCount()).
Я пытаюсь обновить полный такой контент:

Код: Выделить всё

private fun refreshData() {
cacheFilteredCards = getFilteredCards() // get new list
notifyDataSetChanged()
}
Фактический результат:
  • После первого фильтра первый элемент остается в списке, все остальные в порядке. удаленный. Затем добавляются все нужные.
  • Для второго фильтра (и всех остальных после) контент просто добавляется внизу списка. Итак, у меня есть предыдущий список + новый отфильтрованный.
Я пытался сделать:

Код: Выделить всё

private fun refreshData() {
cacheFilteredCards.clear()
notifyDataSetChanged()
cacheFilteredCards = getFilteredCards() // get new list
notifyDataSetChanged()
}
Но результат тот же. Представление не полностью обновлено, а список обновлен с правильным содержимым.
Как я могу полностью очистить список и сохранить представление recyclerview? (и не делать все элементы невидимыми, так как это плохое решение)

Подробнее здесь: https://stackoverflow.com/questions/792 ... ious-resul
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»