Как заставить LazyColumn сохранять показываемую позицию при перевороте экрана? Этот

код чего-то не работает:
val listState = rememberLazyListState()
val scrollState = rememberScrollState()
LazyColumn(
Modifier.scrollable(scrollState,Orientation.Vertical),
listState,
contentPadding = scaffoldPaddingValue,
) {
itemsIndexed(

Экран переворачиваю - и переходит на первую позицию.

10 ответов

18 просмотров

что в itemsIndexed?

если там какие-то данных из флоу/лайвдаты, то нужно стейт лейзиколумну передавать как if (data.isEmpty()) LazyListState() else listState

val listState = rememberLazyListState() LazyColumn( state = if(data.isEmpty()) LazyListState() else listState, contentPadding = scaffoldPaddingValue, ) { itemsIndexed( вот так в вашем случае

Seva- Автор вопроса
4nk1r #NoWar
что в itemsIndexed?

itemsIndexed( items = urlsAndDescrLst ?: listOf(), ) { i: Int, p: Pair<String, String> -> var b: ImageBitmap? by remember { mutableStateOf(null) } LaunchedEffect(key1 = p) { b = dl(p.second, null).first?.asImageBitmap() } Column { Text(p.first) b?.let { Image( bitmap = it, contentDescription = p.first ) } } } }

Он должен сохраняться и без танцев с бубном

Seva
itemsIndexed( items = urlsAndDescrLst...

val listState = rememberLazyListState() LazyColumn( state = if(urlsAndDescrLst == null) LazyListState() else listState, contentPadding = scaffoldPaddingValue, )

🚄 Bonк em Saudade
Он должен сохраняться и без танцев с бубном

если список хоть на момент станет пустым, то стейт сбрасывается до нулевого

Seva- Автор вопроса
4nk1r #NoWar
val listState = rememberLazyListState() LazyColumn...

Не помогло... Flow нет. Лив дата вроде сразу заполняется из базы.

Seva- Автор вопроса
4nk1r #NoWar
если список хоть на момент станет пустым, то стейт...

val urlsAndDescrLst by _viewMod.urlsAndDescrList.observeAsState() В ViewModel хранится. При перевороте экрана вроде не должно ничего там меняться.

Seva- Автор вопроса
Seva
itemsIndexed( items = urlsAndDescrLst...

Если кому интересно, то все починилось заменой mutableStateOf(null) на ImageBitmap(1080, 1920) Стало при переворачивании экрана верхняя "строчка" оставаться там, где была. Любопытно.

Похожие вопросы

Обсуждают сегодня

Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
Чет мне ссыкотно опять Rainlab.User в проект ставить. Кто знает, опять наотъебись все сделали или после обнов пользоваться можно?
Black Cat
10
это группа токсиков или тех кто помогает?
Ибрагим
9
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
Можете помочь с этим, я тут использую Джанго как ОРМ для бота, но бот запускать не хочет, уже всезде перерыл не могу решить, может кто то сталкивался?
Ибрагим
4
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
всем привет. подскажите. сделал политику, он верхнеуровневая. раздал права только на TEST2 (полные). вопрос - можно ли сделать так, чтобы был доступен только TEST2, а остально...
Андрей Сергеев
5
Добрый день! Подскажите, пожалуйста: какими компетенциями нужно обладать, чтобы претендовать на работу эрланг (отдельная благодарность, если про элексир тоже подскажете) разр...
via ☸️ led
20
Карта сайта