ListView用的很频繁,有时候会要求一个ListView中会有不同的布局存在
继承BaseAdapter可以实现这样的功能
除了常写的那几个方法外,还要重写下面几个方法:
getViewTypeCount()
这个返回ListView中需要返回几种布局,这样事先就要统计好布局种类
getItemViewType(int)
根据position返回一个布局的Type,这需要自己定义
最后在getView()中,根据Type创建不同的布局
不同的布局有对应的ViewHolder
if(null == convertView) {
switch(type) {
case xxx:
break;
case xxx:
break;
} else {
switch(type) {
case xxx:
break;
case xxx:
break;
}
然后创建不同的布局后还要根据不同的Type来加载不同的元素进行赋值
没有Demo,自己Google吧。
写一篇这个让自己需要的时候来看下