код чего-то не работает:
val listState = rememberLazyListState()
val scrollState = rememberScrollState()
LazyColumn(
Modifier.scrollable(scrollState,Orientation.Vertical),
listState,
contentPadding = scaffoldPaddingValue,
) {
itemsIndexed(
Экран переворачиваю - и переходит на первую позицию.
что в itemsIndexed?
если там какие-то данных из флоу/лайвдаты, то нужно стейт лейзиколумну передавать как if (data.isEmpty()) LazyListState() else listState
val listState = rememberLazyListState() LazyColumn( state = if(data.isEmpty()) LazyListState() else listState, contentPadding = scaffoldPaddingValue, ) { 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 ) } } } }
Он должен сохраняться и без танцев с бубном
val listState = rememberLazyListState() LazyColumn( state = if(urlsAndDescrLst == null) LazyListState() else listState, contentPadding = scaffoldPaddingValue, )
если список хоть на момент станет пустым, то стейт сбрасывается до нулевого
Не помогло... Flow нет. Лив дата вроде сразу заполняется из базы.
val urlsAndDescrLst by _viewMod.urlsAndDescrList.observeAsState() В ViewModel хранится. При перевороте экрана вроде не должно ничего там меняться.
Если кому интересно, то все починилось заменой mutableStateOf(null) на ImageBitmap(1080, 1920) Стало при переворачивании экрана верхняя "строчка" оставаться там, где была. Любопытно.
Обсуждают сегодня