math7189 Posted November 4, 2011 Share Posted November 4, 2011 (edited) 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 Edited November 5, 2011 by math7189 Quote Link to comment Share on other sites More sharing options...
homzon Posted November 5, 2011 Share Posted November 5, 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 Quote Link to comment Share on other sites More sharing options...
math7189 Posted November 5, 2011 Author Share Posted November 5, 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 Quote Link to comment Share on other sites More sharing options...
Mahdi Elhog Posted July 8, 2012 Share Posted July 8, 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.