2 ArrayLists in einer ListView darstellen?

  • Hallo zusammen,



    Ist es möglich 2 verschiedene ArrayLists in einer ListView anzuzeigen?
    ich habe bis jetzt nur eine Lösung gefunden mit list.addAll(); , welche die eine in die andere Liste einfügt, allerdings haben die Listen unterschiedliche Attribute...
    Situation ist folgende:
    Ich programmiere eine Fussball-App. Dafür habe ich eine ArrayList, in der ich geschossene Tore speichere und eine in der ich gelbe Karten usw speichere.
    Jetzt will ich diese beiden in einer Art LiveTicker-ListView anzeigen lassen undzwar am liebsten geordnet nach der Spielminute.
    Beide Listen haben das Attribut Spielminute und so soll halt chronologisch (und abwechselnd) die Tore und die Karten angezeigt werden.
    Geht das? Wenn ja wie?
    Vielen Dank schonmal im Vorraus!!


    M3doXX

  • Hi M3doXX,


    also ich denke an einem eigenen Adapter kommst du so schnell nicht vorbei. Meine Vorgehensweise ist eigentlich immer, dass ich mir eine Bean baue, die alle relevanten Daten für eine Zeile hält. Also nur eine Klasse, die getter und setter Methoden enthält, keinerlei Logik. In deinem Fall wohl


    Dann erstellst du einen Klasse, ich taufe sie einfach mal LiveTickerAdapter. Sie bekommt ein ArrayList<LiveTicker> und evtl den context (brauch ich meistens).



    Dieser Holder ist ein Zwischenschritt, den es nicht unbedingt braucht. Die Values sind eigentlich ziemlich gleich, nur dass es gleich TextViews sind, die dann so wie sie sind ausgegeben werden. Hab den Zwischenschritt als Trennung zwischen reinen Daten und Anzeige bis jetzt so immer gemacht .... Baue meistens eine innere Klasse



    Dann kommen wir mal zur Zeile

    Java
    convertView = inflator.inflate(R.layout.listitem, parent, false);


    Da holt er sich das Layout listitem. Schaut irgendwie so aus


    Ist jetzt einfach mal alles so aus einem meiner Projekte zusammen kopiert und zum besseren Verständnis an deine Namen angepasst. Falls irgendwo noch Variablen stehen, die sonst nirgends vorkommen, hab ich die übersehen ;)


    Aber im großen und ganzen wars das eigentlich auch schon. Du gibst deiner ListView einen Adapter mit Daten. Du könntest dort auch deine beiden ArrayLists übergeben, dann musst du in der getView halt das ganze auslesen. Du brauchst auch keinen Holder, du kannst das da auch direkt machen, die Trennung finde ich persönlich nur schöner. Und durch den LayoutInflator weiß er, wie die Elemente dann angeordnet werden müssen.


    Ich hoffe ich konnte dir helfen :)


    Gruß,
    matze

Jetzt mitmachen!

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