以前对getview机制不理解,直到最近遇到了一个问题,才明白其中的道理,
其实viewholder作用是在 convertView 第一次创建之后,不用创建新的view对象来显示数据,因为如果convertview没有销毁,那么就从convertview.gettag里面取出holderview,那么convertview什么时候会第一次创建呢?根据listview的显示原理,如果数据item的个数超过整个屏幕,那么listview只会创建屏幕所能容纳的convertview,超出屏幕的item会复用这几个convertview,如果数据item的个数不能充满全屏,那么创建的convertview个数和数据item个数相等!
其实viewholder作用是在 convertView 第一次创建之后,不用创建新的view对象来显示数据,因为如果convertview没有销毁,那么就从convertview.gettag里面取出holderview,那么convertview什么时候会第一次创建呢?根据listview的显示原理,如果数据item的个数超过整个屏幕,那么listview只会创建屏幕所能容纳的convertview,超出屏幕的item会复用这几个convertview,如果数据item的个数不能充满全屏,那么创建的convertview个数和数据item个数相等!