这里的Android新手。有关于游标适配器的问题。所以这是我的代码: 在游标适配器类中,我有以下方法:
public void bindView(final View view, final Context context, final Cursor cursor) {
stuff....
}
@Override
public View newView(final Context context, final Cursor cursor, final ViewGroup parent) {
return stuff...
}
我试图根据我在网上遇到的内容添加一个getview方法,具体如下:
public View getView(int position, View convertView, ViewGroup parent) {
if (!mDataValid) {
throw new IllegalStateException("this should only be called when the cursor is valid");
}
if (!mCursor.moveToPosition(position)) {
throw new IllegalStateException("couldn't move cursor to position " + position);
}
View v;
if (convertView == null) {
v = newView(mContext, mCursor, parent);
} else {
v = convertView;
}
/*if (position % 2 == 0){
convertView.setBackgroundResource(R.drawable.orangecellcolor);
} else {
convertView.setBackgroundResource(R.drawable.greencellcolor);
}*/
bindView(v, mContext, mCursor);
return v;
}
其间注释的代码块是我的备用单元格代码。每次我取消注释它,它不会显示错误或警告,但崩溃。现在,我只需要知道如何使用getview覆盖我的代码,如果我摆脱了我提到的一些方法,或者我为光标适配器类做了一些错误?任何人都可以纠正/ fx上面的代码或指向我如何修复相同的方向? 谢谢!贾斯汀
答案 0 :(得分:0)
if (position % 2 == 0){
convertView.setBackgroundResource(R.drawable.orangecellcolor);
} else {
convertView.setBackgroundResource(R.drawable.greencellcolor);
}
我没有使用convertview,而是使用了一个视图并且运行良好。