Obtenir la position d'un spinner Android
Je vais essayer d'obtenir la position (numéro) de la touche de navigation lorsqu'il est sélectionné pour l'utiliser dans une autre Activité qui permettra d'afficher une carte différente à chaque fois en fonction de l'élément sélectionné. quand je lance l'application il se bloque. c'est le premier code d'Activité:
public class TestProjectActivity extends Activity {
public Spinner spinner1;
public Integer number;
private Button valideButton;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MySpinner();
valide_button();
}
public void MySpinner() {
final Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.num, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter);
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parentView,
View selectedItemView, int position, long id) {
//Object item = parentView.getItemAtPosition(position);
TestProjectActivity.this.number = spinner1
.getSelectedItemPosition() + 1;
}
public void onNothingSelected(AdapterView<?> arg0) {//do nothing
}
});
}
public void valide_button() {
valideButton = (Button) findViewById(R.id.valide_button);
valideButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(TestProjectActivity.this,
MetroMapActivity.class);
startActivity(intent);
}
});
}
}
Vous devez vous connecter pour publier un commentaire.
Le moyen d'obtenir la sélection de la toupie:
De la Documentation de référence:
http://developer.android.com/reference/android/widget/AdapterView.html#getSelectedItemPosition()
Cependant, dans votre code, le seul endroit auquel vous faites référence, il est à l'intérieur de votre
setOnItemSelectedListener()
. Il n'est pas nécessaire d'interroger le spinner, parce que leonItemSelected
méthode est passée de la position de la "position" de la variable.De sorte que vous pourrait modifier la ligne:
Si cela ne résout pas le problème, merci de poster le message d'erreur généré lorsque votre application se bloque.
Ce code est censé cochez les deux cases.
Est-il un problème avec elle?