在使用过程有时要在listview中插入不同类型的数据,比如说position=0的位置插入,广告,其它列表显示数据的情况。
一定要重写两种方法
@Override
public int getItemViewType(int position) {
Object object = bmobIMMessageList.get(position);
if (object instanceof Integer) {
return TYPE_BANNER;
} else {
return TYPE_DATA;
}
} @Override
public int getViewTypeCount() {
return 2;
}
否则列表在复用convertview时会出错,无法精准复用,造成控件空指针异常。
Google了一下:
http://*.com/questions/5300962/getviewtypecount-and-getitemviewtype-methods-of-arrayadapter