2013-01-09 4 views
2

J'ai une liste qui contient déjà une liste de données. Ce que j'essaye de réaliser est quand je clique sur un des ListItem, je veux ajouter un autre ensemble d'ensemble de données juste au-dessous de l'article cliqué.Ajouter dynamiquement des données à ListView dans android

protected void onListItemClick(ListView l, View v, int position, long id) { 
    if (position == 0) { 
     /* 
     * 
     * want to add another bunch of data just below postion 0!!! 
     * 
     */ 
    } 
} 
+0

quel adaptateur utilisez-vous? – Budius

+0

Adaptateur @Budius array –

+1

cochez @sapan answer alors. Vous pouvez également référencer directement l'adaptateur, donc vous n'avez pas besoin de faire les cast – Budius

Répondre

8

Vous pouvez insert les données de l'adaptateur que vous utilisez avec vue sur la liste, puis appelez le notifyDataSetChanged() sur l'adaptateur pour mettre à jour la vue de la liste. Vous devez utiliser un ArrayAdapter (ou sa sous-classe) pour pouvoir ajouter dynamiquement des objets à la vue de liste.

((ArrayAdapter)listView.getAdapter()).insert(object, index); 
((ArrayAdapter)listView.getAdapter()).notifyDataSetChanged(); 
+1

insérer (T object, int index) ref http://developer.android.com/reference/android/widget/ArrayAdapter.html, est-ce normal que vous essayiez d'insérer un tableau de chaînes? – Alexis

Questions connexes