gpt4 book ai didi

android - 从 Firestore 获取单词不会更新 LazyColumn Jetpack Compose

转载 作者:行者123 更新时间:2023-12-05 02:25:37 24 4
gpt4 key购买 nike

@Composable
fun getData() {
var wordData = arrayListOf<Word>()
db.get().addOnSuccessListener { documents ->
for (document in documents) {
wordData.add(document.toObject(Word::class.java))
}
}
LazyColumn {
items(wordData) { word ->
WordCard(word = word)
}
}
}

我想使用 Lazy Column 来显示我所有的单词数据,这些是我的 WordCard 代码。

@Composable
fun WordCard(word: Word) {
Text(text = word.word, color = Color.Black, modifier = Modifier.background(Color.Gray).padding(12.dp))
}

最佳答案

不确定这是否是 firebase 问题,但我注意到了这一点。

var wordData = arrayListOf<Word>()

您只是将元素添加到标准集合结构中,而不是组合可以观察状态变化以更新您的 LazyColumn 的东西。

所以请使用 SnapshotStateList 将其更改为这个并将其包装到 remember{…} 这样列表就不会在成功的重新组合时重新初始化

val wordData = remember { mutableStateListOf<Word>() }

关于android - 从 Firestore 获取单词不会更新 LazyColumn Jetpack Compose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74432235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com