math7189 Posté(e) 4 novembre 2011 Share Posté(e) 4 novembre 2011 (modifié) Bonjour, Je suis débutant sous android et je dois programmer une application dans le cadre de mes études. Il s'agit d'un formulaire de pièces automobiles. J'utilise donc des Spinner pour que l'utilisateur choisisse les différents champs. Voici ma question : Le premier spinner correspond à la marque de voiture: ex: Opel Renault Audi .... Le second spinner est pour le model, qui serait en fonction de la marque sélectionnée auparavant: ex: Si Spinner1 = Opel Spinner 2: Astra Tigra .... Si Spinner1 = Renault Spinner 2 = Megane Clio .... Quelle méthode me conseillez vous pour réaliser ceci? Je vous remercie d'avance Modifié 5 novembre 2011 par math7189 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
homzon Posté(e) 5 novembre 2011 Share Posté(e) 5 novembre 2011 Salut ! Premier message pour moi aussi :) Alors voici comment j'ai procédé : instancie tes deux spinners : Spinner sL = (Spinner) findViewById(R.id.spinnerLens); Spinner sP = (Spinner) findViewById(R.id.spinnerPlace); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, lenses); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); sL.setAdapter(adapter); Place un écouteur d'évenements dessus : sL.setOnItemSelectedListener(new OnItemSelectedListener() { et dans ta fonction d'écoute tu peuple ton second spinner en te servant de l'index de l'item sélectionné (index = sL.getSelectedItemPosition();) Voila la base Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
math7189 Posté(e) 5 novembre 2011 Auteur Share Posté(e) 5 novembre 2011 Merci homzon pour ta réponse, qui marche très bien! Je donne un extrait du code pour ceux qui auraient le même problème. spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){ public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { if(parent.getItemAtPosition(pos).toString().equals("Opel")) { spinnerModel.setAdapter(adapter2); adapter2.notifyDataSetChanged(); } else if(parent.getItemAtPosition(pos).toString().equals("Renault")) { spinnerModel.setAdapter(adapter3); adapter3.notifyDataSetChanged(); } ... Voila :) 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mahdi Elhog Posté(e) 8 juillet 2012 Share Posté(e) 8 juillet 2012 slt mon ami !! merci bi1 pour le code mais j'ai un probléme !! comment je peut définir l'adapter2 et l'apter3 si tu veut met tous le code ......merci Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.