getItemViewType() is >= getViewTypeCount()
上面这句话意思就是 public View getView(int position, View convertView, ViewGroup parent) {}方法里面调用getItemViewType();返回值大于等于设置的数量,
举例子就是 如果你设置了getItemViewType的类似有 1、3、4、5这样,也许你会这样设置
@Override
public int getViewTypeCount() {
// TODO Auto-generated method stub
return 4;
}
,实际运行也没问题,如果作删除Item 操作,把5那个类型删除了,就会包异常,实际做法应该是 0、1、2、3,或者还是1、3、4、5,但是
@Override
public int getViewTypeCount() {
// TODO Auto-generated method stub
return 6;
}
getViewTypeCount
取的是6 , 所以实际是有6种ViewType,我们应该取最大的,最大为5那个数字0-5共6种类型,具体我描述不清,也懒得描述,在项目中删除操作遇到问题,外国网站找到的
论坛讨论文章