SimpleCursorAdapter Updaten -> ListView danach leer

  • Hallo,


    ich bin gerade dabei das Android 2 Buch durchzuarbeiten (kann ich nur empfehlen), doch ich bekomme es nicht so richtig hin den SimpleCursorAdapter upzudaten. Anfangs dachte ich ich hätte es bei mir falsch umgesetzt, am im Beispielscode, welches im Internet zur Verfügung steht gibt es den selben Fehler.
    Denn wenn man in diesem Beispiel einen Kontakt löscht scheint der komplette Cursor danach leer zu sein und in der Liste wird nichts mehr angezeigt.


    Vielleicht noch kurz, wie es dort gemacht wurde:
    In der onStart() wird ein Cursor mit Daten aus der Datenbank erstellt


    final Cursor kontaktZeiger = mKontaktSpeicher.ladeGeoKontaktListe(null);
    startManagingCursor(kontaktZeiger);


    und mit der Liste verknüpft:
    final SimpleCursorAdapter kontaktAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, kontaktZeiger, ANZEIGE_KONTAKTE, SIMPLE_LIST_VIEW_IDS);
    setListAdapter(kontaktAdapter);


    Und wenn ein Eintrag gelöscht werden soll wird dieser aus der Datenbank gelöscht und die Liste aktualisiert:
    mKontaktSpeicher.loescheGeoKontakt(info.id);
    final ListView view = getListView();
    ((SimpleCursorAdapter) view.getAdapter()).getCursor().requery();


    Ich habe es bei mir so gelöst, indem ich einfach die Liste neu abfrage, ist aber keine besonders schöne Lösung.
    Weiß einer von Euch wo hier der Fehler liegt?


    Gruß Andi

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!