2011-09-08 5 views
0

Je me rends compte que des questions similaires ont déjà été posées. Ma liste est affichée à l'aidecomment rafraîchir un android listview

setListAdapter(new ArrayAdapter<String>(this, R.layout.listlayout, names)); 

pour se rafraîchir, les réponses précédentes ont été soit utiliser notifyDataSetChanged() ou invalider() mais à quoi!? Je ne semble pas avoir de quoi appliquer la méthode.

Désolé si je suis daft.

Répondre

1

Stockez votre ArrayAdapter quelque part. Par exemple

adapter = new ArrayAdapter<String>(this, R.layout.listlayout, names) 
setListAdapter(adapter); 
... 
adapter.notifyDataSetChanged(); 
+0

Cheers fonctionne un régal! –

0

À l'adaptateur de liste.

ArrayAdapter<String> adapter = (ArrayAdapter<String>)yourListView.getAdapter(); 
adapter.notifyDataSetChanged(); 
0

J'aime déclarer mon adaptateur en tant que variable membre et appeler hors de cela. Mais puisque vous n'êtes pas, vous pouvez le faire:

listview.getAdapter().notifyDataSetChanged(); 

Ceci suppose que votre objet ListView est appelé listView.

1

D'abord, vous devez avoir une référence à ArrayAdapter:

ArrayAdapter adapter = new ArrayAdapter<String>(this, R.layout.listlayout, names); 
setListAdapter(adapter); 

Ensuite, lorsque vous devez manipuler des données dont vous avez besoin de le faire par des méthodes ArrayAdapter ajouter, insérer, supprimer, etc .. Lorsque vous avez terminé, vous appelez adapter.NotifyDataSetChanged() .

Questions connexes