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

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

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

10 ответов

35 просмотров

что в 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) Стало при переворачивании экрана верхняя "строчка" оставаться там, где была. Любопытно.

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

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

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта