如题:
众所周知,listview在数据量大时会出现卡顿现象,最有效的办法就是在adapter中使用ViewHolder来提高速度。当然,你的listview要填充的数据显示样式统一的话这是很容易就做到的。但是,要是你的listview显示的内容由于条件不一样显示样式也不一样,那该怎么做呢?
我在开发过程中就遇到了这个问题,看了很多帖子,试了很多简单的和复杂的方法,都没有有效的解决这个问题;
最后我灵机一动,一个layout使用ViewHolder是很简单,为什么我们不把多个不同的layout写到同一个layout中呢,用ViewHolder来初始化其中的所有控件,不需要显示的我们就把他的属性设置为View.gone,需要显示哪个layout我们就显示哪个layout,这样我们不就又可以使用ViewHolder又能显示不同的样式了吗?
哈哈,个人拙见。不管怎么样,我们要的效果(listview滑动速度提升,显示不同样式)达到了!