我有一个ListView
,我根据索引填充不同的视图。通过覆盖getView
方法可以正常工作,但我想知道这是否是实现此目的的最佳方法?我问的主要原因是当我滚动某些视图时似乎搞砸了,例如我设置了错误的背景。
如果有人能够解释convertView
究竟是什么以及实施它的正确方法,也许会有所帮助。因为我担心我的观点得出错误背景的原因是因为我使用convertView
进入函数并且它不正确。
答案 0 :(得分:2)
当您回收视图时,您需要意识到您正在处理的当前convertView(当convertView != null
)处于某种状态时(例如,具有不同元素的特定背景)。因此,您需要确保相应地设置视图的每个部分,并假设没有默认值。
可以这样想,当你向下滚动时,顶视图移出可见性并重新用作新视图显示在底部 - 如果你没有为这个视图改变任何东西,它将看起来完全是和以前一样。
答案 1 :(得分:1)
关于convertView
,Commonsware书籍中的this部分可能会对您有所帮助(如果您想跳转,请参阅第107页)。