Potoman Posté(e) 6 août 2010 Share Posté(e) 6 août 2010 Voilà, j'ai un spinner, où sont écris : Département, Région, France. Si l'utilisateur clic sur département, je souhaite qu'alors une nouvelle liste déroulante s'affiche pour lister les différents département. Sauf que quand je fait : public class MyOnItemSelectedListener extends Activity implements OnItemSelectedListener { public int etat = 0; public RechercheOrganisme essai; public MyOnItemSelectedListener (RechercheOrganisme bis){ essai = bis; } @Override public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { onItemSelected(parent, view, pos, id, essai); } public void onItemSelected(AdapterView<?> parent, View view, int pos, long id, RechercheOrganisme essai) { Toast.makeText(parent.getContext(), "The planet is " + parent.getItemAtPosition(pos).toString(), Toast.LENGTH_SHORT).show(); //Intent monIntent = new Intent(this,ListeRegion.class); //startActivity(monIntent); //Toast.makeText(parent.getContext(), "pos : " + pos + " ", Toast.LENGTH_SHORT).show(); etat = pos; essai.choixLocalisation = etat; if (etat == 2){ Intent monIntent = new Intent(parent.getContext(),ListeRegion.class); startActivity(monIntent); } } public void onNothingSelected(AdapterView<?> parent) { // Do nothing. } } Mon code plante quand je tombe sur le choix 2 ( département ), l'application ne veut pas me créer cette liste de département. Alors qu'elle se créé très bien si je mets un simple bouton. Voici le code qui lance le spinner : package org.example.RootISM11; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.Toast; public class RechercheOrganisme extends Activity implements OnClickListener { int choixLocalisation = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.rechercheorganisme); Spinner spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter adapter = ArrayAdapter.createFromResource( this, R.array.localisations_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); //Intent monIntent = new Intent(this,ListeRegion.class); //startActivity(monIntent); MyOnItemSelectedListener moche = new MyOnItemSelectedListener(this); spinner.setOnItemSelectedListener(moche); } } Bon, comme je débute sur Android... Vous moquez pas trop de moi ^^ Merkiki Lien vers le commentaire Partager sur d’autres sites More sharing options...
Potoman Posté(e) 7 août 2010 Auteur Share Posté(e) 7 août 2010 Ou sinon, je me demandai aussi : Mon splinner va modifier une variable d'état, un int plus précisément, dans l'activité qui l'appel. Soit : choixLocalisation dans RechercheOrganisme. Ce que je peut donc aussi faire, et c'est ce qui me semblerai le plus judicieux, c'est d'écouter cet objet, et à chaque instant qu'une de ses variable change, je pourrai appeler une tiers fonction pour appeler enfin ma liste déroulante. Oui mais voilà, comment fait on pour écouter le changement de contenu d'une variable d'un objet. Faut t-il faire un "implements xxxxxxx" dans la déclaration de l'objet "RechercheOrganisme" ? 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.