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?