我自己写了个BaseAdapter,在getCount中返回普通数组.length方法没问题,可是返回ArrayList的.size()方法就出错了 ,求大神解答啊啊啊啊
你上面的那些变量为什么不放在class内?
你把代码贴出来看看啊
private int[] data = { R.drawable.main_shelf_add };//这个是普通数组
public ArrayList mList;//这个是ArrayList
mList=new ArrayList();
mList.add(R.drawable.main_shelf_add);
class ShlefAdapter extends BaseAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return /*data.length+4*/mList.size();// 每书目增加三,书架数增加一
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getView(int position, View contentView, ViewGroup arg2) {
// TODO Auto-generated method stub
if (mList.size() == position) {
contentView = LayoutInflater.from(getApplicationContext())
.inflate(R.layout.item2, null);
}
if (mList.size() != position) {
contentView = LayoutInflater.from(getApplicationContext())
.inflate(R.layout.item1, null);
TextView view = (TextView) contentView
.findViewById(R.id.imageView1);
if (mList.size() > position) {
view.setBackgroundResource(data[position]);
} else {
view.setBackgroundResource(data[0]/*[0]*/);
view.setClickable(false);
view.setVisibility(View.INVISIBLE);
}
}
return contentView;
}
}
代码很多 就贴了一部分 求大神看看呐。。
ArrayList的.size() 返回分配内存的大小
前者为返回数组长度 到‘\0'结束
调试下,看看报什么错误,自己google下错误信息。什么都没有说怎么帮你
两个图片错误信息就是getcount哪里出错了
ArrayList个数的话,应该是 .count 吧