Domanda

Ho un problema con la classe "ViewHolder". Io uso "ViewHolder" per migliorare il mio discorso di visualizzazione elenco. Credo che il codice è ok, ma genera un'eccezione quando  Sto usando "setText" con i dati "Cursore". Ecco il mio codice:

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)));
È stato utile?

Soluzione

Non si dice ciò che l'eccezione è. Ho intenzione di indovinare si tratta di un NullPointerException, il che significa o:

  1. Non hai un widget nella tua linea con android:id="@+id/title", o
  2. Non hai una colonna nel vostro risultato set denominato SBooksDbAdapter.KEY_TITLE, o
  3. In qualche modo si sta creando righe con titolare nel suo tag
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top