在我们构建getView()的时候,会用到缓存convertView,比如
if(convertView==null)
{
//创建新的View
}else
{
//使用缓存convertView
}
还可以使用ViewHolder静态类
static class ViewHolder
{
public ImageView img;
}
然后通过结合convertView,使用setTag()或者getTag()方法
请问convertView与ViewHolder有什么区别吗,这样是不是有些重复呢,好处在哪里啊

解决方案 »

  1.   

        convertView 是一个view类,ViewHolder是自己写的类。我觉得ViewHolder就是让代码清晰吧,你完全可以不写的。以前看过一个人的分析,不过忘了。
      

  2.   

    Android 用户界面编程技巧 里面是这么写的利用 convertView 回收视图, 效率提高 200%
    使用 ViewHolder 模式, 效率再提高 50%
      

  3.   

    我通常还会在ViewHolder类中加一些标记的属性,如boolean check 等等,比如在显示checkbox的时候,方便记录哪个被checked了。
      

  4.   

    ViewHolder我个人认为就是让代码清晰的,一个Item里面如果有好几个控件,ViewHolder用起来很清晰吧。
    2楼说可以提高效率50%,具体还没研究过。使用convertView可以提高效率的