Android Spinner.setSelection () não funciona

Estou tendo um botão giratório preenchido com umCursorAdapter. Agora, ao criar esse botão giratório (dinamicamente), desejo definir uma seleção padrão diferente de 0 (0 sendo o primeiro item noCursorAdapter Lista

Então, eu tenho um setter para o trabalho que é apenas chamado depois que o objeto foi criado. Mas, por alguma razão, não importa o que eu passe nesse setter, 0 sempre é passado para oonItemSelected() dentro do @ do SpinnOnItemSelectedListener.

HOWEVER, se eu apenas esperar a primeira seleção inicial acontecer e executar meu setter novamente, tudo funcionará bem. Então, para deixar mais claro aqui, é o que vejo no depurador:

object (spinner) é criado ouvinte @spinner está anexadosetter é executado, um número, digamos 4 (o botão giratório contém muito mais que 4 seleções) é passado para osetSelection() methodESPERE UM POUCAGORAonItemSelected() é executado pela primeira vez, mas a posição dada a esse método é 0! ESPERA UM POUCO MAIS novamente nós corremos o setternovamenteonItemSelected() é executado, desta vez, a posição dada é 4, como deveria ser!

Agora que está ligado. Não parece possível definir esse botão giratório até a primeira seleção inicial, que é sempre 0, ser executada. Então, por que é assim e o que posso fazer para definir a seleção inicial?

questionAnswers(4)

yourAnswerToTheQuestion