Aller au contenu

[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

Modifié par math7189
Lien vers le commentaire
Partager sur d’autres 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

Lien vers le commentaire
Partager sur d’autres 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
Lien vers le commentaire
Partager sur d’autres sites

  • 8 months later...

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...