listview几乎是每个程序都会做的,但是当listview要显示的东西比较复杂的时候怎么办?????这个问题有很多方法解决,有的在View getView(int position, View convertView, ViewGroup parent) {里单独列出来,谷歌已有解决办法。
listview 的adapter有这样两个方法:
/** 根据位置 判断当前条目是什么类型 */
/** 根据位置 判断当前条目是什么类型 */
@Override
public int getItemViewType(int position) { //20
if (position == datas.size()) { // 当前是最后一个条目
return MORE_ITEM;
}
return getInnerItemViewType(position); // 如果不是最后一个条目 返回默认类型
}
/** 当前ListView 有几种不同的条目类型 */
@Override
public int getViewTypeCount() {
return super.getViewTypeCount() + 1; // 2 有两种不同的类型
}
然后在getview里面就可以根据getViewTypeCount()的返回类型进行控制