J'essaie d'obtenir un Spinner pour travailler dans Android. Il s'affiche très bien et je peux sélectionner l'une des options de la liste. Mais comment puis-je transférer cela à une chaîne? J'aurais pensé dans le code ci-dessous que 'selected' contiendrait la chaîne sélectionnée, mais j'obtiendrais un 'Illegal modifier' pour la classe locale YourItemSelectedListener; Seule l'erreur abstraite ou finale est permise sur 'YourItemSelectedListener'. Qu'est-ce que je fais de mal? Un grand merci pour toute aide.Utilisation de la sélection Spinner comme une valeur dans Android
Spinner spinnerFPS = (Spinner) findViewById(R.id.sp_FPS);
ArrayAdapter adapter = ArrayAdapter.createFromResource(
this, R.array.framesps, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerFPS.setAdapter(adapter);
spinnerFPS.setOnItemSelectedListener(new YourItemSelectedListener());
public class YourItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
String selected = parent.getItemAtPosition(pos).toString();
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
J'ai essayé et maintenant obtenir l'erreur suivante sur 'createFromResource': La méthode createFromResource (contexte, int, int) dans le type ArrayAdapter est pas applicable pour les arguments (TCCalc, String [], int) Je reçois aussi: 'YourItemSelectedListener ne peut pas être résolu en un type' et enfin sur les éléments [pos] Je reçois: Impossible de se référer à un élément variable non final dans une classe interne définie dans une méthode différente. J'ai besoin de voir une démonstration de travail du Spinner pour m'aider à comprendre ce qui se passe. Y a-t-il un exemple simple et réel? À votre santé. – Entropy1024
J'espère que cela a fonctionné, vous pouvez toujours vérifier le code à partir du site google docs – Shardul
Le problème avec ceci est que le premier élément est automatiquement sélectionné, et en le sélectionnant à plusieurs reprises ne déclenchera pas l'événement. Il n'y a aucun moyen de définir le spinner à un index -1 pour empêcher le premier élément d'être sélectionné, le rendant effectivement inutile pour ce type d'application. Ce serait une tâche très simple pour les codeurs Android pour résoudre ce problème. –