theo744 Posté(e) 5 février 2011 Share Posté(e) 5 février 2011 Bonjour à tous, j'ai un petit soucis avec les spinner... Voila mon problème, j'ai une application avec deux spinners (spinner et spinner2), j'aimerais pouvoir connaître quels items sont cochés dans chaque spinner, mais comment différencier les deux spinner dans la méthode OnItemSelected ? Je m'explique, j'appelle OnItemSelected pour chaque spinner : spinner.setOnItemSelectedListener(this); spinner2.setOnItemSelectedListener(this); Si un certain élément est sélectionné dans un Spinner, je fais quelque chose, si un certain élément est sélectionné dans le deuxieme spinner, je fais autre chose.. J'espère que je suis clair (j'en ai pas l'impression). Si quelqu'un pouvait m'aider, ce serait vraiment sympa, je sèche vraiment là... Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 7 février 2011 Share Posté(e) 7 février 2011 Plutôt que d'implémenter un seul listener (en faisant implémenter par ton Activity l'interface OnItemSelectedListener), tu peux implémenter un listener pour chaque spinner, via une inner-class anonyme pour chaque listener. Ainsi, tu pourras différencier les traitements liés à chaque spinner Lien vers le commentaire Partager sur d’autres sites More sharing options...
Gabin Posté(e) 8 février 2011 Share Posté(e) 8 février 2011 J'aimerais pouvoir faire la même chose que theo744 mais je n'ai pas très bien compris ta réponse chpil... En reprenant l'exemple que tu m'avais donné dans ce post Gestion de variables sur spinner, il faudrait que je mette ça comme cela : J'enlève donc implements OnItemSelectedListener . public class ItemSelectedSpinner{ public void onItemSelected(AdapterView<?> parent, View v, int pos, long row) { } Ou faut il mettre en place la inner-class et comment ? Voici des petits screen de l'avancé de mon application =) Encore merci chpil, Bonne journée Gabin Lien vers le commentaire Partager sur d’autres sites More sharing options...
Gabin Posté(e) 8 février 2011 Share Posté(e) 8 février 2011 Double post due à un bug de connexion... Désolé Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 8 février 2011 Share Posté(e) 8 février 2011 J'enlève donc implements OnItemSelectedListener Non, tu n'es pas dans le même cas que theo744, qui, lui, a implémenté son listener directement sur sa classe Activity, et à qui je conseillais de plutôt passer par des classes propres pour implémenter des traitements différents pour ses listeners. Dans ton cas, si tu as suivi mes indications dans le post auquel tu fais référence (et plus précisément la solution "un seul fichier java"), tu as déjà les bonnes bases. Si tu veux maintenant associer un traitement différent à un autre spinner, il te suffit de créer une autre classe implémentant OnItemSelectedListener public Main extends Activity { public void onCreate(Bundle savedInstanceState) { // blah blah blah // ... monSpinner1.setOnItemSelectedListener(new MonSpinner1Listener()); monSpinner2.setOnItemSelectedListener(new MonSpinner2Listener()); } public class MonSpinner1Listener implements OnItemSelectedListener { public void onItemSelected(AdapterView<?> parent, View v, int pos, long row) { // Traitement à effectuer lors de la sélection d'un élément du premier Spinner } // ... } public class MonSpinner2Listener implements OnItemSelectedListener { public void onItemSelected(AdapterView<?> parent, View v, int pos, long row) { // Traitement à effectuer lors de la sélection d'un élément du second Spinner } // ... } } Lien vers le commentaire Partager sur d’autres sites More sharing options...
Gabin Posté(e) 8 février 2011 Share Posté(e) 8 février 2011 chpil encore une fois tu m'auras été d'une grande aide ! Encore un grand MERCI =) Je vais peut être réussir à sortir la première version publique d'ici peut de temps ! 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.