ArrayAdapter的getView方法是在ListView中插入自定义视图的最佳方法吗?

时间:2011-10-25 14:26:32

标签: android android-listview android-arrayadapter

我有一个ListView,我根据索引填充不同的视图。通过覆盖getView方法可以正常工作,但我想知道这是否是实现此目的的最佳方法?我问的主要原因是当我滚动某些视图时似乎搞砸了,例如我设置了错误的背景。

如果有人能够解释convertView究竟是什么以及实施它的正确方法,也许会有所帮助。因为我担心我的观点得出错误背景的原因是因为我使用convertView进入函数并且它不正确。

2 个答案:

答案 0 :(得分:2)

当您回收视图时,您需要意识到您正在处理的当前convertView(当convertView != null)处于某种状态时(例如,具有不同元素的特定背景)。因此,您需要确保相应地设置视图的每个部分,并假设没有默认值。

可以这样想,当你向下滚动时,顶视图移出可见性并重新用作新视图显示在底部 - 如果你没有为这个视图改变任何东西,它将看起来完全是和以前一样。

答案 1 :(得分:1)

关于convertView,Commonsware书籍中的this部分可能会对您有所帮助(如果您想跳转,请参阅第107页)。