1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

ExpandableListActivity - SQLite Cursor nutzen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von spass-digga, 07.07.2009.

  1. spass-digga, 07.07.2009 #1
    spass-digga

    spass-digga Threadstarter Neuer Benutzer

    Beiträge:
    8
    Erhaltene Danke:
    1
    Registriert seit:
    04.07.2009
    Hallo,

    ich versuche gerade das Beispiel aus den API Demos so umzubauen, das keine ContentProvider sondern Cursor auf die SQLite Datenbank genutzt werden.

    ExpandableList2.java | Android Developers

    Leider ist das ganze nicht gut dokumentiert, ich frage mich wie der groupCursor der an die getChildrenCursor(Cursor groupCursor) übergeben wird aufgebaut sein muss.

    Ich hab jetzt diese Beispiel My life with Android :): Expandable lists so umgebaut, dass es mit funktioniert. Leider fällt mir jetzt bei Aktualisierungen der Datenbank die Struktur mit den ArrayLists und den HashMaps auf die Füsse. Lässt sich nicht sauber abbilden. Deshalb würde ich lieber direkt mit den Cursor arbeiten. Vielleicht hat jemand ne Idee, würde mich freuen.

    Vielen Dank.

    Gruß
    Rudi
     
  2. miracle2k, 08.07.2009 #2
    miracle2k

    miracle2k Android-Hilfe.de Mitglied

    Beiträge:
    89
    Erhaltene Danke:
    15
    Registriert seit:
    03.07.2009
    Der Cursor muss eigentlich überhaupt keinen bestimmten Aufbau haben, soweit ich sehen kann.

    Der Adapter ist ja das Teil, dass die Daten nimmt und daraus View-Objekte für jeden Listen-Eintrag erzeugt. Standard-Klassen wie der SimpleCursorTreeAdapter erlauben dir nur zu sagen, dass ein bestimmter Wert aus der Datenquelle in einem TextView mit der entsprechenden ID ausgeben wird.
     
  3. spass-digga, 08.07.2009 #3
    spass-digga

    spass-digga Threadstarter Neuer Benutzer

    Beiträge:
    8
    Erhaltene Danke:
    1
    Registriert seit:
    04.07.2009
    Hi,

    in dem Fall arbeitet man ja mit 2 Cursor, einen für die Gruppe und einen für die Kinder. Ich vermute, dass man einen Cursor der mit der _id der Gruppe beginnt an getChildrenCursor(Cursor groupCursor) übergibt, in der Methode über eine zweite Abfrage den zweiten Cursor mit den Kindern ermittelt und dort ebenfalls die _id der Gruppe (nicht die _id der Kinder) als erste Spalte ausgibt. Irgendwoher muss ja der Adapter wissen, welches Kind zu welcher Gruppe gehört, dass kann eigentlich nur über die Gruppen _id funktionieren. Ich werd das einfach so mal ausprobieren.

    Gruß
    Rudi
     

Diese Seite empfehlen