N
Nelson1337
Neues Mitglied
- 0
Moin,
tut mir Leid, falls diese Frage in ähnlicher Form bereits gestellt worden ist, aber ich konnte nichts brauchbares für meinen Fall finden.
Und zwar habe ich eine Activity mit einem ListView-Element, mittels Cursor und SimpleCursorAdapter werden Daten aus der Datenbank geholt und in der ListView angezeit.
Nun möchte ich gerne, das beim Klick auf ein Listen-Element eine weitere Ansichts-Activity startet, die den entsprechenden Eintrag vollständig zeigt.
Ich dachte mir, man könnte das mit einer HashMap realisieren:
Als Key die Position des Eintrages in der Liste dann einen String-Array mit den Werten aus der Datenbank.
Die entsprechende Tabelle in der Datenbank enthält vier Spalten.
In der onCreateMethode habe ich dann noch einen OnItemClickListener deklariert:
Ich erhalte eine NullPointerException. Ich tippe darauf, das die Nummerierung der Zeilen im Cursor nicht mit der Nummerrierung der Elemente in der ListView übereinstimmt.
Wie kann ich das beheben?
Vielen Dank im Voraus
Gruß Nelson
tut mir Leid, falls diese Frage in ähnlicher Form bereits gestellt worden ist, aber ich konnte nichts brauchbares für meinen Fall finden.
Und zwar habe ich eine Activity mit einem ListView-Element, mittels Cursor und SimpleCursorAdapter werden Daten aus der Datenbank geholt und in der ListView angezeit.
Nun möchte ich gerne, das beim Klick auf ein Listen-Element eine weitere Ansichts-Activity startet, die den entsprechenden Eintrag vollständig zeigt.
Ich dachte mir, man könnte das mit einer HashMap realisieren:
Als Key die Position des Eintrages in der Liste dann einen String-Array mit den Werten aus der Datenbank.
Code:
private void bufferNotes(Cursor cursor)
{
cursor.moveToFirst();
String[] data;
while(!cursor.isAfterLast()){
data = new String[4];
for(int i = 0; i < 4; i++)
{
data[i] = cursor.getString(i);
}
mMap.put(cursor.getPosition() , data);
cursor.moveToNext();
}
}
In der onCreateMethode habe ich dann noch einen OnItemClickListener deklariert:
Code:
lv.setOnItemClickListener( new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
Intent intent = new Intent(Liste.this, Ansicht.class);
intent.putExtra("values", mMap.get(position));
startActivity(intent);
}
});
Ich erhalte eine NullPointerException. Ich tippe darauf, das die Nummerierung der Zeilen im Cursor nicht mit der Nummerrierung der Elemente in der ListView übereinstimmt.
Wie kann ich das beheben?
Vielen Dank im Voraus
Gruß Nelson