【发布时间】:2022-01-06 11:27:06
【问题描述】:
使用RecyclerView,我可以使一些ViewHolder 不可回收(按照以下一些答案
I want my RecyclerView to not recycle some items)。
我可以让LazyColumn 不重新组合某些项目(类似于让RecyclerView 不回收一些ViewHolder)吗?我在LazyColumn 有一些大图片的项目,它在向下和向上滚动后重新组合,所以滚动不流畅。
【问题讨论】:
-
除非你做错了什么,否则它不会重组。查看this example,每个单元格出现时只记录一次,滚动期间不会发生重组(预计新出现的单元格)
-
@PhilipDukhov 我试过你的例子,但是在我滚动到底部然后向上滚动到顶部后它会重新组合。
-
这是一个惰性列表,当单元格消失然后再次出现时,它肯定应该重新组合。虽然不在 then 屏幕上,但惰性视图已从视图树中删除,并且在再次出现时需要组合。
-
@PhilipDukhov 是的,我同意你的观点,但我的问题不同。
LazyColumn解决与RecyclerView相同的问题。您可以再次查看此链接stackoverflow.com/questions/36313079/…。在某些情况下,我们仍然希望 RecyclerView 中的某些项目不被回收(例如:该项目包含大图像、画布或视频)。 RecyclerView 支持这一点,我从 RecyclerView 迁移到 LazyColumn -
我现在明白了,没有注意到那个链接,我的错。据我所知,
LazyColumn没有办法做到这一点,我建议你create a feature request。
标签: android android-jetpack-compose lazycolumn