Jetpack Compose LazyList 未正确显示项目

Posted

技术标签:

【中文标题】Jetpack Compose LazyList 未正确显示项目【英文标题】:Jetpack Compose LazyList not showing items correctly 【发布时间】:2021-08-28 20:46:32 【问题描述】:

世界!

我使用 Jetpack Compose 已经有一段时间了,我取得了非常好的结果。 但是,我发现了这个问题:我有一个项目列表,我使用LazyColumn 将它们显示给用户。但是当我向上和向下滚动时,有些项目无法正确显示,它们显示出来就像其中没有信息一样。

我不知道我是否遗漏了什么,或者这种行为将来会得到纠正。

How it looks

我的代码:

LazyColumn(
    modifier = modifier
        .fillMaxHeight(),
) 
    items(expenses, Expense::id)  expense ->
        ExpenseItem(expense = expense, areExpensesSelectable,
            onExpenseLongClick =  onExpenseLongClick?.invoke() ,
            onExpenseSelected =  onExpenseSelected?.invoke(it) ,
            onExpenseDeselected =  onExpenseDeselected?.invoke(it) )
    

【问题讨论】:

请提供ExpenseItem 的一些代码以及使用此列表的部分(创建expenses 列表的位置)。这将有助于我们找到原因并提供解决方案。谢谢。 查看***.com/questions/67728388/… 是的,我将版本升级到 beta08 并且已修复。出于某种原因,我仍在使用 beta07。感谢您的贡献。 【参考方案1】:

自我响应:这是 Jetpack Compose 中存在的一个错误,直到在 beta08 版本中得到修复。

【讨论】:

很高兴您的问题解决了。您应该将我的答案标记为解决方案,以便其他人知道该问题已被回答,并且不要多次回答,谢谢。 嘿,对不起。这是我在 Stack Overflow 上的第一篇文章,但我忘记了。你去吧。 :D【参考方案2】:

我听说这个错误已在最新版本的 Compose 中得到修复。

【讨论】:

确实如此!出于某种原因,我仍在使用 beta07 而不是 beta08。但是一旦我把它撞起来,它就工作得很好。谢谢!

以上是关于Jetpack Compose LazyList 未正确显示项目的主要内容,如果未能解决你的问题,请参考以下文章