ListView aktualisieren

  • Antworten:2
TheEvilOne
  • Forum-Beiträge: 311

09.08.2010, 08:02:22 via Website

Hallo,

ich habe eine ListActivity, in der Daten aus einer SQLite-Datenbank angezeigt werden. Mittels des Context-Menüs kann ich einen Eintrag bearbeiten oder einen neuen Eintrag anlegen.

In der Methode onContextItemSelected rufe ich über einen Intent eine zweite Activity auf, der das selektierte Objekt (welches Parcelable implementiert) übergeben wird. Dort wird das Objekt bearbeitet und in die SQLite-Datenbank gespeichert.

Nachdem das Objekt nun in dieser zweiten Activity gespeichert wurde, navigiere ich mit folgendem Code zur ersten ListActivity zurück:

1Intent intent = new Intent();
2 setResult(RESULT_OK, intent);
3 finish();

Wie kann ich an dieser Stelle denn nun erreichen, dass mein bearbeitetes Objekt in der ListView aktualisiert bzw. ein neu angelegtes Objekt der Liste hinzugefügt werden soll? (ähnlich den SWT Tree- oder Table Viewern, dort ließt man vorzugsweise auch nicht bei jeder Änderung den Datenbankinhalt neu).

Falls das so aus irgendeinem Grund nicht umzusetzen ist, die ListView nur zu refreshen, sodass sich der Inhalt aktualisiert, würde ich auch (unschönerweise) den gesamten Datenbankinhalt neu laden. Aber hier weiß ich nicht, an welcher Stelle ich denn dann die Methode zum neu einlesen der Datenbankinhalte in der ListActivity aufrufen soll.

Kann mir hier jemand weiterhelfen?

Danke und viele Grüße

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

09.08.2010, 10:04:59 via Website

Der passende Ort: activity.onActivityResult()
Aktualisierung: adapter.notifyDataSetChanged()

Antworten
TheEvilOne
  • Forum-Beiträge: 311

10.08.2010, 09:30:37 via Website

Danke für den Tipp, das hilft mir schonmal in die richtige Richtung weiter.
Komm leider erst am WE dazu mir das gründlich anzuschauen.

Viele Grüße

Antworten