Android 我们能否在ListView中设置它应该保留在内存中的项目数,以便ListView赢得';不要每次都回收
我有一个Android 我们能否在ListView中设置它应该保留在内存中的项目数,以便ListView赢得';不要每次都回收,android,android-listview,Android,Android Listview,我有一个列表视图,其中有一些非常重的项目(不可滚动的网格视图,还有一些文本视图)。我已经在适配器中实现了ViewHolder模式,但滚动仍然不平滑。我们可以在列表视图中指定它应该在内存中保留多少项吗。我在列表视图中只有3个项目,但在滚动时,当一个新项目进入视图时,它总是有一些不连续性 示例:最初第一个子项和第二个clild的某些部分可见,然后用户滚动,当他即将点击第三项时,会出现轻微的中断,然后出现第三项。向上滚动时,当第一个孩子即将再次进入屏幕时,也会发生同样的情况。 我们是否可以指定列表视图
列表视图
,其中有一些非常重的项目(不可滚动的网格视图
,还有一些文本视图
)。我已经在适配器中实现了ViewHolder
模式,但滚动仍然不平滑。我们可以在列表视图中指定它应该在内存中保留多少项吗。我在列表视图中只有3个项目
,但在滚动时,当一个新项目进入视图时,它总是有一些不连续性
示例:最初第一个子项和第二个clild的某些部分可见,然后用户滚动,当他即将点击第三项时,会出现轻微的中断,然后出现第三项。向上滚动时,当第一个孩子即将再次进入屏幕时,也会发生同样的情况。
我们是否可以指定列表视图
应该在内存中保留3个项目,并且不要像我们在ViewPager中那样回收它们(使用setOffscreenPageLimit)。我知道没有内置的支持来指定这一点,但是我们是否可以以某种方式扩展listView以拥有这样的功能 回答你的问题是
否
要执行此操作,请将或View
svisibility
设置为GONE
,并在getView()
参数中使用position
,以了解其是否为第一项。然后将该特定位置所需的视图
s设置为可见
,将所有其他视图
s设置为消失
这似乎对您有帮助吗?ListView默认情况下重用项目视图,您不需要做任何事情,顺便说一句,视图持有者模式与视图重用无关Check post可能有助于改进您的ListView
@pskink我提到的视图持有者模式,我尽了一切努力使滚动平滑。但什么都没用。所以,我的最后一个办法是寻找加载内存中的所有项。只需使用Adapter.getView方法的convertView参数,可能您做错了什么。你能发布适配器及其视图吗?我不明白你想在解释中说什么,但有一点很清楚,我们无法真正控制ListView的多少项,它应该保留在内存中。所以为了解决我的问题,我使用了一个滚动视图并添加了3个布局,现在它滚动得非常平滑。