@Composable
fun TestList() {
val list = (0..20).toList().sortedDescending().toMutableStateList()
Column(modifier = Modifier.fillMaxSize()) {
Button(onClick = {
val first = list.first()
list.add(0, first + 1)
}) {
Text(text = "添加")
}
LazyColumn() {
items(count = list.size, itemContent = { index ->
Text(text = "列表项目${list[index]}", modifier = Modifier.padding(20.dp))
})
}
}
}
注意,一定要是 toMutableStateList 才可以对列表的数据进行监听
/**
* Create an instance of [MutableList]<T> from a collection that is observable and can be
* snapshot.
*/
fun <T> Collection<T>.toMutableStateList() = SnapshotStateList<T>().also { it.addAll(this) }
效果
device-2023-08-14-174604