2011-10-25 19 views
0

我有一个ListView,我根据索引填充不同视图。这可以通过覆盖getView方法正常工作,但我想知道这是否是完成此操作的最佳方式?我问的主要原因是当我滚动某些视图似乎被搞砸了,比如我设置了错误的背景。ArrayAdapter的getView方法是在ListView中插入自定义视图的最佳方式吗?

也许这会有所帮助,如果有人可以解释什么convertView是完全正确的方式来实现它。因为我担心我的观点出现错误背景的原因是因为我正在使用convertView进入该功能并且它不正确。

+1

我推荐我的答案[列表如何工作](http://stackoverflow.com/questions/7738527/getting-an-issue-while-checking-the-dynamically-generated-checkbox-through-list/7739006 #7739006)。也许这会帮助你更好地理解列表和适配器... – Knickedi

回答

1

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

+0

感谢您的链接,Commonsware的书籍在解释ListViews如何工作以及如何使用getView方面非常有帮助。我解决了我的问题,谢谢。 – Bobbake4

2

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

想想这样,当您向下滚动时,顶视图将移出可见性并作为出现在底部的新视图重用 - 如果您没有为此视图更改任何内容,它将看起来完全正确与以前一样。

+0

这也非常有帮助 – Bobbake4

相关问题