Jump to content

[RESOLU] Peupler spinner en fonction d'un autre spinner


math7189

Recommended Posts

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 by math7189
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 :)

  • Like 1
Link to comment
Share on other sites

  • 8 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...