пагинацией? Тут вопрос не в том, как это сделать, а как сохранять позицию скролла при добавлении элементов в начало списка, потому что в этом случае скрол перемещается на начало
В том же телеграмме добавление сообщений при скролле никак не влияет на позицию скролла, они просто добавляются за пределами вьюпорта
Я пробовал и получил как раз такой же результат как ты описал - скролл сбрасывался в начало самое. То есть у меня при заходе на экран грузилась первая страница с элементами и так же в оба конца списка элементов добавлялись элементы которые потом рисовались как круговые прогресс бары. Проблема была в том что когда грузилась следующая страница мне надо было один из прогресс баров удалить, вставить новые элементы и потом вставить следующий прогресс бар. Это работало норм когда ты скроллишь вниз но если скроллить вверх то скролл улетал в начало что вызвало загрузку следующей страницы и потом ещё одной и так далее пока было что грузить. Я это зафиксил тем что вместо того чтобы удалять прогресс бар я его заменял на другой элемент, по сути индикатор текущей страницы. И это работало норм. Как я понял основная проблема там возникает если удалять прогресс бар до того как композ узнал о том что ты новые элементы добавил. Т.е. сначала надо добавить элементы потом удалить прогресс бар. Ты можешь попробовать обычный спейсер вставлять и через несколько фреймов удалять его (или можно вообще не удалять). Мне кажется это должно работать.
блин, один в один. Причем что забавно, это все работает только в одну сторону. То есть если выставить reverseLayout, то проблема просто поменяется местами и выглядит, как какая-то недоработка)
Когда удаляется первый видимый элемент то лези лист не знает какой теперь элемент отвечает за начало списка и сбрасывает его в ноль как я понял
Обсуждают сегодня