Не очищайте RecyclerView при аннулировании PagedList - PullRequest
0 голосов
/ 16 апреля 2020

Я использую библиотеку Paging из Android Jetpack, чтобы в моем RecyclerView было поведение загрузки по страницам. Я загружаю напрямую из сети, поэтому у меня нет промежуточного кэша в памяти или базы данных. Всякий раз, когда что-то меняется, я вызываю invalidate() на DataSource (в моем случае PositionalDataSource), чтобы обновить список.

Что мне нужно, это очень простая вещь - как только я вызываю invalidate() представление переработчика полностью очищен и показывает пустые данные. Мне нужно представление переработчика, чтобы сохранить старые данные и нормально обновлять их после поступления новых данных. В большинстве случаев обновление может быть очень маленьким, например, изменение цвета кнопки в нескольких строках, когда RecyclerView выглядит ужасно показывает пустое содержимое в течение пары секунд, пока я загружаю данные из бэкэнда.

Можно ли это как-то сделать или есть концептуальное ограничение текущей архитектуры библиотеки подкачки, вынуждающее меня реализовать собственное кэширование?

1 Ответ

0 голосов
/ 16 апреля 2020

вызов notifyDataSetChanged вместо invalidate может помочь в качестве простого решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...