Problem mit „ViewHolder“ Klasse in Android
-
19-09-2019 - |
Frage
habe ich ein Problem mit "ViewHolder" -Klasse. Ich benutze „ViewHolder“ meine Liste Anzeige Sprache zu verbessern. Ich denke, der Code ist in Ordnung, aber es löst eine Ausnahme, wenn Ich verwende „setText“ mit Daten von „Cursor“. Hier ist mein Code:
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)));
Lösung
Sie nicht sagen, was die Ausnahme ist. Ich werde denke, es ist ein NullPointerException
, das heißt entweder:
- Sie haben nicht einen Widget in Ihrer Reihe mit
android:id="@+id/title"
haben oder - Sie können eine Spalte in Ihrem Ergebnis Set
SBooksDbAdapter.KEY_TITLE
genannt, oder - Irgendwie Sie erstellen Reihen ohne Halter in seinem Tag
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow