пятница, мая 24, 2013

Spinner, setSelection - не изменяется отображаемое значение

У меня есть Spinner, в нём содержится несколько элементов.
В то время когда spinner свёрнут, мне нужно задать в качестве выбранного какой-то из этих элементов, к примеру - второй (если считать с нуля - то первый):

spinner.setSelection(1);

К удивлённому сожалению, в результате наблюдается следующий эффект:
1. в качестве отображаемого в свёрнутом состоянии значения так и осталось значение, соответствующему самому первому элементу
2. если спиннер развернуть - то увидим, что выбран как раз тот элемент, который просили - а именно, второй.

Чтобы привести в соответствие ожидание и реальность, достаточно добавить второй аргумент - параметр animate, равный true. В таком случае всё работает как ожидалось:

spinner.setSelection(1, true);






Комментариев нет: