estoy teniendo una ruleta que está poblada con una CursorAdapter
. Ahora cuando creo ese spinner (dinámicamente) quiero establecer una selección predeterminada diferente a 0 (0 es el primer elemento en la lista CursorAdapter
)Spinner.setSelection Android() no funciona
Así que obtuve un setter para ese trabajo que acaba de llamarse después de que el objeto ha sido creado. Pero por alguna razón, pase lo que pase en ese setter, 0 siempre pasa al método onItemSelected()
dentro del Spinner's OnItemSelectedListener
.
Sin embargo, si sólo tiene que esperar hasta que sucedió la primera selección inicial y corro mi organismo nuevo, todo funciona bien. Por lo tanto, para que sea más claro aquí es lo que veo en el depurador:
- objeto (spinner) se crea
- oyente spinner se une
- colocador es correr, un número, digamos 4 (el spinner contiene mucho más que 4 selecciones) se pasa a la
setSelection()
método - esperar un poco
- EMPRESA
onItemSelected()
se ejecuta la primera vez, pero la posición dada a ese método es 0! - esperar un poco MÁS
- nuevo corremos el colocador es ejecutar
onItemSelected()
de nuevo, esta vez, la posición dada es 4, ya que se supone que es!
Ahora está conectado. Parece que no es posible configurar ese spinner hasta que se haya ejecutado la primera selección inicial, que siempre es 0. Entonces, ¿por qué es así y qué puedo hacer para establecer la selección inicial?
Podría usted por favor enviar el código utilizado al configurar el Spinner? Suena como que podría ser porque tiene un cierto código en el orden equivocado –
Esta respuesta (en otra cuestión de forma) que funcionó para mí: http://stackoverflow.com/a/17370964/1617737 –