5 android kotlin android-jetpack-compose lazycolumn compose-recomposition
@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>()\n您只是将元素添加到标准集合结构中,而不是 compose 可以观察状态更改以更新您的LazyColumn.
因此,请将其更改为 this usingSnapshotStateList并将其包装为 a remember{\xe2\x80\xa6},以便列表不会在成功的重新组合时重新初始化
val wordData = remember { mutableStateListOf<Word>() }\n| 归档时间: | 
 | 
| 查看次数: | 260 次 | 
| 最近记录: |