android spinner performClick onItemSelected
J'ai un petit problème avec un spinner
.
- Je créer un Spinner
l'utilisateur de cliquer sur un Bouton. Le Spinner
est illustré comme il se doit, mais quand onItemSelected
doit être appelée rien ne se passe.
Voici le code
public void setUpSpinner(){
spinner = new Spinner(this);
CustomArrayAdapter<String> adapter = new CustomArrayAdapter<String>(this, android.R.layout.simple_spinner_item, getAsStrings());
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
public void onClick(View view) {
spinner.performClick();
}
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
String getName = (String) spinner.getSelectedItem();
getListFromName(getName);
}
Quelqu'un sait quel est le problème ici?
Merci les gars.
Vous devez vous connecter pour publier un commentaire.
Résolu le problème en ajoutant un
Spinner
dans monxml
avec la hauteur et la largeur à zéro.Cela ressemble assez comme le turorial, reportez-vous revenir. Voir ci-dessous:
Je ne la vois pas, mais ne la classe principale de mettre en œuvre OnItemSelectedListener? Aussi, Vous aurez envie d'instancier la touche de navigation à l'intérieur de la onCreate() dans la classe principale du corps.
Cette ligne doit être dans le onCreate();
setUpSpinner()
est appelé, et que la classe implémente onItemSelectedListener.pourquoi avez-vous
spinner = new Spinner(this)
dans le set-up ?vous avez sûrement déjà eu un Spinner dans le XML de votre mise en page, il vous suffit de faire
spinner = (Spinner) findViewById(R.id.WHATEVER_THE_ID_IS_IN_THE_XML);
de sorte que vous n'avez pas besoin d'unnew
P. S. c'est la façon dont je définis un Spinner dans une mise en page XML