【发布时间】:2021-05-21 17:51:10
【问题描述】:
我知道记住惰性列表状态,它工作正常
setContent {
Test(myList) // Call Test with a dummy list
}
@Composable
fun Test(data: List<Int>){
val state = rememberLazyListState()
LazyColumn(state = state) {
items(data){ item ->Text("$item")}
}
}
它会记住滚动位置,并且在每次旋转和更改配置后都会保持相同
但是每当我尝试从数据库中捕获数据并使用诸如collectAsState之类的方法时
它不起作用,这似乎是一个问题
setContent{
val myList by viewModel.getList.collectAsState(initial = listOf())
Test(myList)
}
【问题讨论】:
-
在 LazyColumn 项目上使用键,因此如果数据相同,则现在重新组合。
标签: android kotlin android-jetpack-compose