Jetpack Compose LazyList 滚动位置
Jetpack Compose LazyList Scroll Position
我有 LazyColumn,其中包含我从视图模型收集的数据。问题是当我更改屏幕方向或导航到另一个可组合项和 return 时,我的可组合项无法保存滚动状态。我不确定我是否正确使用 rememberLazyListState。感谢任何帮助。
@Composable
fun UsersScreen(mainNavController: NavHostController, viewModel: UsersViewModel = hiltViewModel()) {
val users = viewModel.users.collectAsState(listOf()).value
val lazyListState = rememberLazyListState()
Users(users, lazyListState, mainNavController)
}
@Composable
fun Users(list: List<UserEntity>, listState: LazyListState, mainNavController: NavHostController) {
LazyColumn(state = listState, modifier = Modifier.fillMaxSize()) {
items(list) { user ->
UserCard(user) {
mainNavController.navigate("$USER_DETAIL/${user.fullName}")
}
}
}
}
在当前版本beta08中已修复。
我有 LazyColumn,其中包含我从视图模型收集的数据。问题是当我更改屏幕方向或导航到另一个可组合项和 return 时,我的可组合项无法保存滚动状态。我不确定我是否正确使用 rememberLazyListState。感谢任何帮助。
@Composable
fun UsersScreen(mainNavController: NavHostController, viewModel: UsersViewModel = hiltViewModel()) {
val users = viewModel.users.collectAsState(listOf()).value
val lazyListState = rememberLazyListState()
Users(users, lazyListState, mainNavController)
}
@Composable
fun Users(list: List<UserEntity>, listState: LazyListState, mainNavController: NavHostController) {
LazyColumn(state = listState, modifier = Modifier.fillMaxSize()) {
items(list) { user ->
UserCard(user) {
mainNavController.navigate("$USER_DETAIL/${user.fullName}")
}
}
}
}
在当前版本beta08中已修复。