Quelqu'un peut-il expliquer ou suggérer un tutoriel pour créer une listView dans Android?
Voici mes exigences:
- Je devrais pouvoir ajouter dynamiquement de nouveaux éléments en appuyant sur un bouton.
- Doit être assez simple à comprendre (éventuellement sans aucune amélioration des performances ou convertview, par exemple)
Je sais qu'il y a pas mal de questions sur ce sujet, publiées ici sur StackOverflow, mais je n'ai trouvé aucune réponse à ma question. Merci!
Réponses:
Créez d'abord une disposition XML dans le
res/layout/main.xml
dossier de votre projet :Il s'agit d'une disposition simple avec un bouton en haut et une vue de liste en bas. Notez que le
ListView
a l'identifiant@android:id/list
qui définit la valeurListView
par défaut qu'unListActivity
peut utiliser.android.R.layout.simple_list_item_1
est la disposition des éléments de liste par défaut fournie par Android, et vous pouvez utiliser cette disposition de stock pour les choses non complexes.listItems
est une liste qui contient les données affichées dans le ListView. Toute l'insertion et le retrait doivent être effectuéslistItems
; les changements danslistItems
doivent être reflétés dans la vue. Cela est géré parArrayAdapter<String> adapter
, qui doit être notifié en utilisant:adapter.notifyDataSetChanged();
Un adaptateur est instancié avec 3 paramètres: le contexte, qui pourrait être le vôtre
activity/listactivity
; la disposition de votre élément de liste individuel; et enfin, la liste, qui est les données réelles à afficher dans la liste.la source
ListActivity is an activity that includes a ListView as its only layout element by default. [...] (it) hosts a ListView object
. Ainsi, par défaut, les méthodes (comme setAdapter , etc.) sont "à l'intérieur" de la classe.au lieu de
vous pouvez appeler directement
la source
Tout d'abord, vous devez ajouter un ListView, un EditText et un bouton dans votre activity_main.xml.
Maintenant, dans votre ActivityMain:
Cela fonctionne pour moi, j'espère que je vous ai aidé
la source
Si vous souhaitez avoir le ListView dans une AppCompatActivity au lieu de ListActivity, vous pouvez faire ce qui suit (Modifier la réponse de @ Shardul):
Et dans votre mise en page au lieu d'utiliser,
android:id="@android:id/list"
vous pouvez utiliserandroid:id="@+id/listDemo"
Alors maintenant, vous pouvez avoir un
ListView
intérieur normalAppCompatActivity
.la source
Code du fichier MainActivity.java.
Code du fichier de mise en page activity_main.xml.
Capture d'écran
la source
La réponse courte: lorsque vous créez un ListView, vous lui transmettez une référence aux données. Maintenant, chaque fois que ces données seront modifiées, cela affectera la vue de liste et y ajoutera donc l'élément, après avoir appelé adapter.notifyDataSetChanged () ;.
Si vous utilisez un RecyclerView, mettez à jour uniquement le dernier élément (si vous l'avez ajouté à la fin de la liste des objs) pour économiser de la mémoire avec: mAdapter.notifyItemInsert (mItems.size () - 1);
la source
Ceci est la réponse simple comment ajouter des données dynamiquement dans listview android kotlin
Ici, je viens d'expliquer deux façons, nous pouvons le faire de nombreuses façons.
la source