Android 使用BaseAdapter 插入不同类型数据
在使用过程有时要在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://stackoverflow.com/questions/5300962/getviewtypecount-and-getitemviewtype-methods-of-arrayadapter