У меня есть проблема, которую я не могу решить - состояние списка забываний. У меня есть Single Lazycolumn, в котором есть некоторые предметы, и у меня также есть список категорий, которые пользователи могут выбирать, например. Все, любимые, подписанные и т. Д. < /p>
Когда я нахожусь в категории «все» и прокрутка на некоторое время, затем выберите «Любимый», я буду в том же месте, где я был при прокрутке с «всем», но я хочу быть в списке фаворитов. выбран. Я пытался с Coroutinescope и без него, но ничего не работает. < /P>
Я использую библиотеку Paging3. Или сбросить это как-то? val coroutineScope = rememberCoroutineScope()
val lazyListState = rememberLazyListState()
LaunchedEffect(pagedList.itemSnapshotList.items) {
if (pagedList.itemCount > 0) {
lazyListState.scrollToItem(0)
scrollBehavior.scrollOffset = 1f
}
}
Минимальный воспроизводимый пример, вы можете сыграть вокруг прокрутки всех/подписанных и изменяющихся на/от всех/подписанных
enum class Category { All, Favourite, Subscribed }
@Composable
fun CategoryListSample(
modifier: Modifier = Modifier
) {
// currently selected category
var category by remember { mutableStateOf(Category.All) }
// list scroll state (issue: it is preserved across categories)
val listState = rememberLazyListState()
// data for each category
val items = when (category) {
Category.All -> List(50) { "All $it" }
Category.Favourite -> List(10) { "Fav $it" }
Category.Subscribed -> List(20) { "Sub $it" }
}
Column(
modifier = modifier,
horizontalAlignment = Alignment.CenterHorizontally
) {
Row {
Category.entries.forEach {
TextButton(onClick = { category = it }) {
Text(it.name)
}
}
}
LazyColumn(state = listState) {
items(items) { item ->
Text(item, modifier = Modifier
.fillMaxWidth()
.padding(16.dp))
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... ck-compose
Как мне забыть или сбросить Lazyliststate в JetPack Compose? ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1756398957
Anonymous
У меня есть проблема, которую я не могу решить - состояние списка забываний. У меня есть Single Lazycolumn, в котором есть некоторые предметы, и у меня также есть список категорий, которые пользователи могут выбирать, например. Все, любимые, подписанные и т. Д. < /p>
Когда я нахожусь в категории «все» и прокрутка на некоторое время, затем выберите «Любимый», я буду в том же месте, где я был при прокрутке с «всем», но я хочу быть в списке фаворитов. выбран. Я пытался с Coroutinescope и без него, но ничего не работает. < /P>
Я использую библиотеку Paging3. Или сбросить это как-то? val coroutineScope = rememberCoroutineScope()
val lazyListState = rememberLazyListState()
LaunchedEffect(pagedList.itemSnapshotList.items) {
if (pagedList.itemCount > 0) {
lazyListState.scrollToItem(0)
scrollBehavior.scrollOffset = 1f
}
}
Минимальный воспроизводимый пример, вы можете сыграть вокруг прокрутки всех/подписанных и изменяющихся на/от всех/подписанных
enum class Category { All, Favourite, Subscribed }
@Composable
fun CategoryListSample(
modifier: Modifier = Modifier
) {
// currently selected category
var category by remember { mutableStateOf(Category.All) }
// list scroll state (issue: it is preserved across categories)
val listState = rememberLazyListState()
// data for each category
val items = when (category) {
Category.All -> List(50) { "All $it" }
Category.Favourite -> List(10) { "Fav $it" }
Category.Subscribed -> List(20) { "Sub $it" }
}
Column(
modifier = modifier,
horizontalAlignment = Alignment.CenterHorizontally
) {
Row {
Category.entries.forEach {
TextButton(onClick = { category = it }) {
Text(it.name)
}
}
}
LazyColumn(state = listState) {
items(items) { item ->
Text(item, modifier = Modifier
.fillMaxWidth()
.padding(16.dp))
}
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79749182/how-do-i-forget-or-reset-lazyliststate-in-jetpack-compose[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия