Android Spinner.setSelection () no funciona

Tengo una ruleta que se rellena con unaCursorAdapter. Ahora, al crear esa ruleta (dinámicamente), quiero establecer una selección predeterminada diferente a 0 (0 es el primer elemento en laCursorAdapter lista)

Así que obtuve un setter para ese trabajo que se acaba de llamar después de que se haya creado el objeto. Pero por alguna razón, no importa lo que pase en ese setter, 0 siempre se pasa a laonItemSelected() método dentro del Spinner'sOnItemSelectedListener.

SIN EMBARGO si solo espero a que ocurra la primera selección inicial y vuelva a ejecutar mi setter, todo funciona bien. Entonces, para que quede más claro, esto es lo que veo en el depurador:

object (spinner) se creaspinner oyente está adjuntosetter se ejecuta, un número, digamos que 4 (la ruleta contiene más de 4 selecciones) se pasa asetSelection() métodoESPERA UN POCAHORAonItemSelected() se ejecuta la primera vez, ¡pero la posición asignada a ese método es 0! ESPERE UN POCO MÁS de nuevo corremos el setterde nuevoonItemSelected() se ejecuta, ¡ESTA VEZ, la posición dada es 4 como se suponía que debía ser!

Ahora eso está conectado. Parece que no es posible configurar esa ruleta hasta que se ejecute la primera selección inicial, que siempre es 0. Entonces, ¿por qué es así y qué puedo hacer para establecer la selección inicial?