在大多数情况下,我们需要为列表视图的动态项目内容实现BaseAdapter的getItemViewType()和getViewTypeCount(),如this post所述。但我认为这个解决方案只适用于有限数量并且事先知道,比如带有发送布局和接收布局的列表视图项目。Android:如果ListView中的项目内容是动态的,那么实现BaseAdapter的最佳方式是什么?
如果事先不知道其项目内容的列表视图,那么情况如何呢? 例如,我需要显示一个来自服务器的联系人列表,联系人列表大小约为几千。对于每个项目,我需要显示,例如,爱好“列表”。它是一个0到几十个字符串的小范围。因此,在这种情况下:
- 的项目类型是使用“getItemViewType”
- 虽然每个项目可以是不同的比正常情况下相对较大,但类似于一定程度:该项目的内容是在数量不同视图,但在视图类型中很常见。项目A与项目B的区别仅在于它具有更多的TextView。
对于在getView每一次,convertview很难简单地重用,因为它们是不同的,但如果我们创建新的TextView并将其添加到convertView,它会影响列表视图的滚动。我认为这种方式并不合适。我应该在这种情况下做什么?
只是将您的视图视为一个空的RelativeLayout,在getView()中填充了子视图,那么您有多少个不同的视图?答案是:一个 – pskink 2015-04-01 15:34:02
嗯,如果你真的想重用视图我没有看到任何其他的解决方案,使“超视图”,其中包含最大数量的文字视图,他们是可见性=“走了”,并根据如何切换可见性很多你实际上有 – 2015-04-01 15:35:05
林不知道这是否会比单纯夸大每个案件的意见,更有效 – 2015-04-01 15:35:50