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

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