Android : Schleife durch alle Elemente in einem listview
Möchten um schnelle Antwort wie, um eine Liste aller Elemente auf meinem listview, um drucken Sie eine Liste aus oder geben Sie einen Editor, app, etc.. Das heißt, eine variable mit folgenden Informationen aus der listview: "apple", "banana", "orange". Unten ist meine listview. Dank
String[] values = new String[] { "apple", "banana", "orange" };
listItems = new ArrayList<String>();
for (int i = 0; i < values.length; ++i) {
listItems.add(values[i]);
}
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1,
listItems);
//Assign adapter to ListView
listView.setAdapter(adapter);
- deine array-Werte haben nur ein Element" ? es ist ein '-' oder haben Sie ausgeschlossen, einige Ihrer line-codes in deinem post.
- haben nicht gelernt, das zu tun und noch keine Artikel, die nur diese einfache Sache, auf der listview !
- was meinst du
share to a notepad app
? - warum brauchen Sie diese überhaupt? es macht keinen Sinn und schon haben Sie Zugriff auf die listItems, die alles in Ihrem listview, da Sie als argument übergeben, um den adapter
- Ich glaube, ich kann hinzufügen/entfernen Artikel zu einer Zeit, zu der listview später. Aber ist das listItems-ich habe immer das gleiche wie das, was ich in der listview?
- Die Antworten haben alle verwirrt meine ursprüngliche Bedeutung. Und ich überarbeitete meine Frage. Kann ich daraus schließen für die Zeit, die listItems ist, was ich brauche, um zu drucken Sie die Elemente in der listview. Nur ich habe zu halten, den öffentlichen Zugang zu es. Dank
- fügen Sie eine line-System.aus.Println("mylist"+listItems); nach dem forloop. und überprüfen Sie diese in der log
- habt Ihr meinen Kommentar?
- ja ja..die Antwort ist nicht mehr da.
- okay
- Ich habe meine Antwort. Überprüfen Sie es heraus.
- Unter den vielen Antworten, die adapter.getItem-Methode scheint auch funktioniert. In meinem Fall jedoch, listItems, die ich schon habe, ist vielleicht einfacher. Dank
InformationsquelleAutor user2911996 | 2015-05-05
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Frage sagt,
Verstehe ich von deinem code, den Sie hinzufügen möchten, die Elemente aus
String array
zuArrayList
.Aber, übergeben Sie String-array direkt als Dritter parameter an Ihre
ArrayAdapter
.Blick auf die Vorschläge von Android studio für
ArrayAdapter
. Sie können passString[]
oderArrayList
zu :Entweder übergeben Sie String[] oder, wenn Sie wollte, um eine Schleife durch alle String[] Elemente der ArrayList, Sie können einfach tun, indem Sie eine einzige Zeile.
arrayList -
ArrayList
Werte -
String[]
statt,
Und in Kommentar-Abschnitt, Sie sagte
In diesem Fall können Sie eine Schaltfläche zum erneuten laden der Liste zu zeigen, die alten items + neue items oder zum anzeigen der Liste mit Ausnahme der Elemente, die Sie gelöscht haben. Ich füge Sie unten, wie Sie haben, es zu erreichen.
Button
AddMore
in Ihrem layout und immer, wenn Sie neue Elemente hinzufügen möchten, dann tun Sie diesKönnen Sie löschen das Element in ähnlicher Weise durch die übergabe der position des Elements in der arrayList,
Also, fasst alles an, hier ist die volle arbeiten code :
activity_main.xml
Ausgabe :
Liste mit vordefinierten 3 items und eine Schaltfläche zum laden weiterer Elemente.
Liste mit alten 3 items + neu Hinzugefügt: 2 Elemente (Hier habe ich arrayList.entfernen)
Liste mit alten Elemente außer Element gelöscht + neu Hinzugefügt: 2 Elemente (Hier habe ich arrayList.entfernen zu entfernen, die Banane durch
arrayList.remove(arrayList.get(2));
)So, ich verstehe, Sie wollen, erstellen Sie einen ArrayAdapter, später noch ein paar Elemente hinzu und irgendwann rufen alle Elemente von, richtig?
Da Sie ArrayAdapter verwenden, können Sie nur Durchlaufen Ihrer Inhalte:
ArrayAdapter Dokumentation
Da Sie bereits über ein array UND einer arraylist in deinem code sollte es einfach sein.
Aber wenn Sie wollen, um die Schleife später und Sie müssen nur Ihre listview, ich glaube, es ist ein getter für den adapter in Ihrem listview, und wenn Sie die Umwandlung der gegebenen adapter ArrayAdapter, es sollte ein getter, um die Elemente, die Sie suchen.
Brauchen Sie nicht, um eine Schleife oder irgendetwas übergeben Sie den array direkt an den adapter an.
den new ArrayAdapter nahm eine
array
als Dritten parameter.