如图所示:
listview的滑动,都会带出新的new_item出现,old_item移出屏幕的时候会被回收,new_item其实就是old_item,这个item就是getview的convertview参数,
现在假设这样一种情况,一共有4种布局,最开始的三项都是不同的样式,如下图所示:
就前三项占据了一屏幕了,后面都是一样的第四类布局,这样如果使用回收机制的话,就会出错。
因此需要采取一定的措施,if(converview==null){
}else{
}
这些原本的判断还是要的,需要修改的地方就是,在getview函数中,设置convertview的id值,每次要是否利用回收的view的时候进行判断
这里
if(converview==nullconverview.getid()>=3){
}else{
}
如果回收的convertview的ID值大于等于3的话,说明是需要回收利用的view,其他的就重新生成,不回收利用了。