TsCyrille Posté(e) 1 septembre 2010 Posté(e) 1 septembre 2010 Bonjour. Je remplis la liste d'un Spinner de la façon suivante : ... Boucle de remplissage de l'ArrayList libelle défini comme propriété de ma classe ... ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item,libelle); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); Jusqu'à là pas de problème... mais je désire, à un moment donné, vider la liste du Spinner. Pour l'instant je fais ceci : libelleclear(); ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item,libelle); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); N'y-a-t-il pas un moyen plus simple (par exemple sans réinstancier un ArrayAdapter) ? Merci d'avance
Fluckysan Posté(e) 1 septembre 2010 Posté(e) 1 septembre 2010 Tu peux juste vider ton adapter : adapter.clear(); Puis tu peux dire à Android que ton Spinner doit être redessiné, s'il ne le fait pas déjà (tout dépend où tu vide ton adapter) : spinner.invalidate();
TsCyrille Posté(e) 2 septembre 2010 Auteur Posté(e) 2 septembre 2010 Merci pour ton aide : cela marche bien (pas besoin de rajouter la ligne concernant la fct "invalidate")
Fluckysan Posté(e) 2 septembre 2010 Posté(e) 2 septembre 2010 Np :) Le invalidate() va être nécessaire si tu vide ta liste dans un thread par exemple, pour notifier Android qu'il faut qu'il redessine le Spinner dès qu'il peut
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.