RecyclerView кратко показывает старые элементы, видимость изменена с исчезнувшей/невидимой на видимуюAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 RecyclerView кратко показывает старые элементы, видимость изменена с исчезнувшей/невидимой на видимую

Сообщение Anonymous »

К сожалению, я использую систему Views с Paging 3, и у меня возникла проблема с отображением состояния загрузки и пустого состояния. Рассмотрим следующую логику:

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

loadingView?.isVisible = refreshState is LoadState.Loading
recyclerView?.isVisible = refreshState is LoadState.NotLoading & itemCount > 0
emptyView?.isVisible = refresh is LoadState.NotLoading && itemCount < 1
Это работает нормально, за исключением одного раздражающего момента: когда видимость представления переработчика меняется с «Прошло» на «Видимое» (Загрузка -> Незагрузка), предыдущие элементы списка отображаются для на короткий момент, вызывающий эффект «мигания».
Я нашел два обсуждения по этому поводу.
  • Когда Я обновляю Android RecyclerView новыми элементами, старые представления ненадолго отображаются, прежде чем новые представления переопределяют их.
  • Неправильное изменение видимости RecyclerView с «Унесено» на «Видимое». на мгновение показывает ранее удаленный элемент, прежде чем отобразить новый добавленный элемент.
Для этих решений не сработало, представление по-прежнему показывает предыдущие элементы на мгновение.
Я мог бы решить эту проблему, просто используя Compose, но я не хочу переносить все только из-за этой досадной ошибки.
Есть ли способ решить эту проблему в системе Views? Я также пробовал использовать LoadAdapter, но это уже другая шутка.

Подробнее здесь: https://stackoverflow.com/questions/790 ... one-invisi
Ответить

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

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

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

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

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