TsCyrille Posté(e) 1 septembre 2010 Share 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fluckysan Posté(e) 1 septembre 2010 Share 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(); Lien vers le commentaire Partager sur d’autres sites More sharing options...
TsCyrille Posté(e) 2 septembre 2010 Auteur Share Posté(e) 2 septembre 2010 Merci pour ton aide : cela marche bien (pas besoin de rajouter la ligne concernant la fct "invalidate") Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fluckysan Posté(e) 2 septembre 2010 Share 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.