Listview mit Spaltenüberschriften

  • Hallo an Alle,


    ich habe da mal wieder eine Frage. Vielleicht ist die Lösung ja ziehmlich simple aber ich komme nicht darauf.
    Ich lese Daten aus einer Datenbank aus. Diese Daten möchte ich vor dem setzen in der Liste manipulieren. z.Bsp. der Wert 1 in der DB soll dann ein "OK" werden. Ich realisiere es derzeit mit einem SimpleCursorAdapter und ViewBinder. Es wird auch alles richtig ausgegeben aber ich möchte zu den einzelnen Werten in den Spalten auch eine Spaltenüberschrift. Außerdem sollten die Daten und die Überschrift der Spalte dann auch in der Spalte richtig formatiert ( zentriert ) sein.
    Wie kann ich soetwas erzeugen?


    Gruß

  • Hallo schmyura,


    ich weiß nicht ob ich es ganz anders machen kann. Den einzelnen Datensatz lese ich ja derzeit aus und verbinde ihn im ViewBinder mit der ListView zu einer Zeile. Das ist aber nichts halbes und nichts Ganzes da die Daten unterschiedliche Länge haben können und damit die Spaltenbreiten unterschiedlich sein können. Dadurch hätte ich dann auch wieder Probleme mit den Überschriften. Oder habe ich da einen Denkfehler? Vielleicht wäre dort ein dynamisches TableLayout angebrachter?
    Hier mal ein Codeausschnitt:



    Gruß Renato

  • Hallo oldwarrior,


    zu deinem Codeanschnitt habe ich 2 Fragen:
    Warum setzt du als Trenner zwischen die einzelnen Spalten eine feste Anzahl von Leerzeichen?
    Wäre nicht ein Tabulator besser?
    Warum nutzt du einen SimpleCursorAdapter?
    Bei Listen nehme ich (fast) immer


    und brauche mich auch um nichts mehr kümmern, selbst beim Drehen des Gerätes....
    Aber vielleicht denke ich ja viel zu einfach.
    Schöne Grüße, schymura ^^

  • Hallo schmyura,


    danke für deine Hilfe. Ja ich habe die Nachteile jetzt auch bemerkt und bin gerade dabei meinen Code umzuschreiben. Habe mir eine eigene Adapterklasse geschrieben. Die Daten aus der Datenbank schreibe ich dann in eine HashMap und diese dann in ein ListArray und befülle dann den Adapter damit. Das müsste alle Probleme lösen.


    Trotzdem noch einmal Danke für deine Hilfe,


    Gruß Renato

  • Zitat


    danke für deine Hilfe. Ja ich habe die Nachteile jetzt auch bemerkt und bin gerade dabei meinen Code umzuschreiben. Habe mir eine eigene Adapterklasse geschrieben. Die Daten aus der Datenbank schreibe ich dann in eine HashMap und diese dann in ein ListArray und befülle dann den Adapter damit. Das müsste alle Probleme lösen.


    Ok du hast schon einen Haken dran gemacht, denoch ein Hinweis bzw. eine Anregung


    -> das Umschaufeln von Daten (in deinem Fall sogar 2x) ist doch relativ Perfomance ungünstig gerade bei älteren Geräten mit weniger Ram könntest du da irgendwann in Probleme geraten


    Warum benutzt du nicht einen Cursorloader, (unter älteren Geräten mit der SupportLib von Google)
    Deine Daten aus der Datenbank, klöppelst du an den Loader und die ganze Logikunterscheidung (Anzeige OK statt 1 oder 0) packst du in deinen CursorAdapter für den Listview (ViewHolder-Pattern) und alles wird gut.




    http://www.androiddesignpatter…implementing-loaders.html


    http://www.vogella.com/article…dSQLite/article.html#todo

Jetzt mitmachen!

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