2

「ViewHolder」クラスに問題があります。「ViewHolder」を使用して、リスト表示の音声を改善しています。コードは大丈夫だと思いますが、「カーソル」のデータで「setText」を使用すると例外がスローされます。これが私のコードです:

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)));
4

1 に答える 1

4

あなたは例外が何であるかを言いません。私はそれがであると推測するつもりですNullPointerException、それは次のいずれかを意味します:

  1. android:id="@+id/title"行に、、またはのウィジェットがありません
  2. SBooksDbAdapter.KEY_TITLE結果セットに、、またはという名前の列がありません
  3. どういうわけか、タグにホルダーがない行を作成しています
于 2009-08-26T05:10:01.150 に答える