ClassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误。下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法。
而我报这个错的原因是我在Listview里面加入了两个不同布局,下面是解决办法:
@Override
public int getItemViewType(int position) {
if (position == 0) {
return TYPE_banner;
} else {
return TYPE_content;
}
}
@Override
public int getViewTypeCount() {
return 2;//有多少个不同布局写几个
}
然后我们获取位置是直接在getView里面这样写的:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
...
int type = getItemViewType(position);
switch (type) {
case TYPE_banner:
操作...
break;
}
return view;
}