web-dev-qa-db-fra.com

Android: remplir une vue de liste avec des éléments de tableau

Je suis nouveau sur Android et je pense que j'essaie de faire quelque chose de vraiment basique: j'ai un 5 cordes dans mon tableau (dites 'One', 'Two', ...) Je veux ajouter ces 5 chaînes à ma vue de liste dans ma liste d'activité.

Ma liste:

<ListView 
    Android:id="@+id/Android:list"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"/>
</LinearLayout>

Ma ligne de liste:

<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:orientation="horizontal">
<TextView Android:id="@+id/homeItemName" 
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_weight="1"/>
</LinearLayout>

Fondamentalement, je veux lier les éléments du tableau au TextView homeItemName. Je pourrais ajouter d'autres éléments dans ma ligne plus tard, donc je ne peux pas simplement lier la liste aux entrées.

Merci!

28
Prabhu

Pour le code, jetez un coup d'œil à ce tutoriel étape par étape

setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES));  
ListView lv = getListView();

Il montre une implémentation de base d'un ArrayAdapter:

R.layout.list_item: est la disposition xml (list_item.xml) qui sera utilisée pour chaque ligne de votre liste. COUNTRIES est le tableau de chaînes.

31
Hubert

Vous pouvez utiliser un ArrayAdapter pour lier vos données. Puisque vous voulez pouvoir ajouter des éléments de données supplémentaires à la vue, vous devez donner à l'adaptateur un ArrayList (puisqu'un tableau est d'une taille fixe). Les éléments doivent être ajoutés via ArrayAdapter et votre ArrayList sera mis à jour automatiquement. J'ai un exemple sur http://www.box.net/shared/yduel9txya

6
Klarth