Solución:
Suponga que su Spinner
es nombrado mSpinner
, y contiene como una de sus opciones: “algún valor”.
Para encontrar y comparar la posición de “algún valor” en el Spinner, use esto:
String compareValue = "some value";
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);
if (compareValue != null) {
int spinnerPosition = adapter.getPosition(compareValue);
mSpinner.setSelection(spinnerPosition);
}
Una forma sencilla de configurar la ruleta en función del valor es
mySpinner.setSelection(getIndex(mySpinner, myValue));
//private method of your class
private int getIndex(Spinner spinner, String myString){
for (int i=0;i<spinner.getCount();i++){
if (spinner.getItemAtPosition(i).toString().equalsIgnoreCase(myString)){
return i;
}
}
return 0;
}
El camino al código complejo ya está ahí, esto es mucho más sencillo.
Mantengo una ArrayList separada de todos los elementos en mis Spinners. De esta manera puedo hacer indexOf en ArrayList y luego usar ese valor para establecer la selección en el Spinner.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)