Kann jemand ein Tutorial erklären oder vorschlagen, um eine listView in Android zu erstellen?
Hier sind meine Anforderungen:
- Ich sollte in der Lage sein, neue Elemente dynamisch per Knopfdruck hinzuzufügen.
- Sollte einfach zu verstehen sein (möglicherweise ohne Leistungsverbesserungen oder Convertview zum Beispiel)
Ich weiß, dass es zu diesem Thema einige Fragen gibt, die hier auf StackOverflow veröffentlicht wurden, konnte aber keine finden, die meine Frage beantworten würden. Vielen Dank!
Antworten:
Erstellen Sie zuerst ein XML-Layout im
res/layout/main.xml
Ordner Ihres Projekts :Dies ist ein einfaches Layout mit einer Schaltfläche oben und einer Listenansicht unten. Beachten Sie, dass der
ListView
die ID hat,@android:id/list
die den Standard definiert, denListView
a verwendenListActivity
kann.android.R.layout.simple_list_item_1
ist das Standardlayout für Listenelemente, das von Android bereitgestellt wird, und Sie können dieses Bestandslayout für nicht komplexe Dinge verwenden.listItems
ist eine Liste, die die in der ListView angezeigten Daten enthält. Das Einsetzen und Entfernen sollte am erfolgenlistItems
. Die Änderungen inlistItems
sollten sich in der Ansicht widerspiegeln. Das wird erledigt vonArrayAdapter<String> adapter
, was benachrichtigt werden sollte mit:adapter.notifyDataSetChanged();
Ein Adapter wird mit 3 Parametern instanziiert: dem Kontext, der Ihr sein könnte
activity/listactivity
; das Layout Ihres individuellen Listenelements; und schließlich die Liste, bei der es sich um die tatsächlichen Daten handelt, die in der Liste angezeigt werden sollen.quelle
ListActivity is an activity that includes a ListView as its only layout element by default. [...] (it) hosts a ListView object
. Standardmäßig befinden sich die Methoden (wie setAdapter usw.) "innerhalb" der Klasse.anstatt
Sie können direkt anrufen
quelle
Zuerst müssen Sie eine ListView, einen EditText und eine Schaltfläche zu Ihrer activity_main.xml hinzufügen.
Jetzt in Ihrem ActivityMain:
Das funktioniert bei mir, ich hoffe ich habe dir geholfen
quelle
Wenn Sie die ListView in einer AppCompatActivity anstelle von ListActivity haben möchten, können Sie Folgendes tun (Ändern der Antwort von @ Shardul):
Und in Ihrem Layout
android:id="@android:id/list"
können Sie anstelle von verwendenandroid:id="@+id/listDemo"
So, jetzt können Sie ein
ListView
Inneres in einem normalen habenAppCompatActivity
.quelle
Code für die Datei MainActivity.java.
Code für die Layoutdatei activity_main.xml.
Bildschirmfoto
quelle
Die kurze Antwort: Wenn Sie eine ListView erstellen, übergeben Sie ihr einen Verweis auf die Daten. Wenn diese Daten geändert werden, wirkt sich dies auf die Listenansicht aus und fügt das Element hinzu, nachdem Sie adapter.notifyDataSetChanged (); aufgerufen haben.
Wenn Sie eine RecyclerView verwenden, aktualisieren Sie nur das letzte Element (wenn Sie es am Ende der Liste der Objekte hinzugefügt haben), um Speicherplatz zu sparen mit: mAdapter.notifyItemInserted (mItems.size () - 1);
quelle
Dies ist die einfache Antwort, wie man Daten dynamisch in Listview Android Kotlin hinzufügt
Hier habe ich nur zwei Möglichkeiten erklärt, wir können dies auf viele Arten tun.
quelle