0

这里是安卓新手。有一个关于光标适配器的问题。所以这是我的代码:在游标适配器类中,我有这些方法:

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 覆盖我的代码,我应该摆脱我提到的一些方法,还是我对光标适配器类做错了什么?任何人都可以更正/修复上面的代码或指出如何解决相同问题的方向吗?谢谢!贾斯汀

4

1 回答 1

0
if (position % 2 == 0){
                convertView.setBackgroundResource(R.drawable.orangecellcolor);
            } else {
                convertView.setBackgroundResource(R.drawable.greencellcolor);
            }

我没有使用convertview,而是使用了一个视图并且工作正常。

于 2013-07-09T20:24:46.193 回答