繁体   English   中英

android中的“ ViewHolder”类问题

[英]Problem with “ViewHolder” class in android

我对“ ViewHolder”类有问题。 我使用“ ViewHolder”来改进列表显示语音。 我认为代码还可以,但是当我将“ setText”与“ Cursor”中的数据一起使用时,它将引发异常。 这是我的代码:

if(row==null){
            LayoutInflater inflater = LayoutInflater.from(context);         
            row = inflater.inflate(R.layout.sbooks_row, null);
            holder = new ViewHolder();

            holder.id = (TextView)row.findViewById(R.id.id);
            holder.title = (TextView)row.findViewById(R.id.title);
            holder.icon = (ImageView)row.findViewById(R.id.icon);

            row.setTag(holder);
        }
        else
        {
            holder = (ViewHolder)row.getTag();
        }

        holder.title.setText(cursor.getString(cursor.getColumnIndex(SBooksDbAdapter.KEY_TITLE)));
        holder.id.setText(cursor.getString(cursor.getColumnIndex(SBooksDbAdapter.KEY_ROWID)));

您没有说什么例外。 我想这是一个NullPointerException ,这意味着:

  1. 您的行中没有android:id="@+id/title" ,或者
  2. 您的结果集中没有名为SBooksDbAdapter.KEY_TITLE的列,或者
  3. 您以某种方式创建的行中没有标记的持有人

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM