Ich habe eine Listenansicht mit mehreren Textansichten wie folgt:
%Vor% Ich habe eine Liste von POJOs mit name
und address
und ich möchte, dass jedes Element in der Listenansicht mit diesen Werten gefüllt wird.
Mein POJO ist so:
%Vor%Frage
Wenn ich den Listenadapter mit meiner Liste einstelle, wie kann ich sowohl Name als auch Adresse einstellen?
Momentan mache ich das, was nur den Namen setzt:
%Vor% Sie sollten eine benutzerdefinierte adapter
erstellen, die ArrayAdapter
erweitert. Die Dinge, die Sie mit ArrayAdapter
tun können, sind begrenzt.
In etwa so:
%Vor% Wo textView1
, textView2
... textView-n
alle Ihre Textansichten sind. Stellen Sie Ihren Adapter wie folgt ein:
Hinweis: Ich nehme an, dass Ihr personList
ein Objekt vom Typ List
ist. Wenn es ein Array
ist, lass es mich wissen.
Ich würde die TwoLineArrayAdapter von ESV, es ist für Name und Titel formatiert, ist aber fast genau das, was Sie brauchen.
Bearbeiten:
%Vor% Für ein Szenario mit n Strings ist die Lösung sehr ähnlich. Erstellen Sie eine benutzerdefinierte ArrayAdapter
vom Typ StringHolder[]
oder List<StringHolder>
abhängig davon, ob dieser Betrag behoben ist. In Ihrem getView
würden Sie alle StringHolder
-Objekte durchlaufen, findViewById
aufrufen und den Textinhalt aktualisieren. Alternativ können Sie einfach den Index im Array / in der Liste verwenden und diesen einer View-ID zuordnen, wenn sie konsistent bleiben.
Dies ist natürlich nur eine Möglichkeit, dies zu tun, es gibt noch viel mehr und ich überlasse die tatsächliche Implementierung als Übung für den Leser.
Tags und Links android listview android-arrayadapter listactivity