L'appel de notifyDataSetChanged sur un ListAdapter
J'ai un ListAdapter
comme indiqué ci-dessous:
setListAdapter(new ArrayAdapter<String>(DeleteMenu.this,
android.R.layout.simple_list_item_1,
classes));
Je suis en train d'appel notifyDataSetChanged()
dans un onListItemClick()
fonction. J'en ai essayé plusieurs manières différentes et regarda les mêmes questions ici sur StackOverFlow mais je ne peux toujours pas comprendre.
Quelqu'un peut s'il vous plaît aider?
Edit: je devrais être plus clair, je ne suis pas d'avoir une erreur, je ne sais pas ce qu'il faut appeler la fonction notifyDataSetChanged()
méthode. Dois-je céder mon ListAdapter
à une variable et de l'appeler comme var.notifyDataSetChanged()
?
La Question n'est pas claire. Quel est le réel problème? que voulez-vous faire?
quelle est l'erreur? Poste le code en question. Publiez aussi vos logcat de sortie.
quelle est l'erreur? Poste le code en question. Publiez aussi vos logcat de sortie.
OriginalL'auteur shanahobo86 | 2012-11-17
Vous devez vous connecter pour publier un commentaire.
Vous devriez appeler
notifyDataSetChanged
sur l'Adaptateur.Vous appelez notifydatasetchanged sur votre carte. Vous ne pouvez pas le faire dans votre exemple de cause vous n'avez pas à lui donner un nom afin de vous y référer plus tard. Cela fait-il sens?
Il n'est pas nécessaire d'attribuer l'adaptateur à une variable locale. Vous êtes en mesure de récupérer la carte n'importe où dans une ListActivity/ListFragment en appelant getListAdapter().
OriginalL'auteur user1411084
Vous pouvez appeler la méthode notifyAdapterChanged() en obtenant une référence à la Carte. Vous pouvez soit garder une référence locale (comme user1411084s de réponse), ou de la récupérer en appelant le:
Important à noter est que l'interface ListAdapter ne fournit pas la méthode
notifyDataSetChanged()
, de sorte que vous devriez jeter le type de la carte que vous avez attribué précédemment.Le résultat ressemblera à ceci (pouvoir appeler n'importe où dans votre ListActivity/ListFragment:
OriginalL'auteur Makibo
Voir plus d'infos dans cette réponse:
https://stackoverflow.com/a/4198569/3994630
OriginalL'auteur Pablo Cegarra