Android Spinner.setSelection () не работает

У меня есть счетчик, который заполненCursorAdapter, Теперь при создании этого счетчика (динамически) я хочу установить выбор по умолчанию, отличный от 0 (0 - первый элемент вCursorAdapter список)

Поэтому я получил установщик для этой работы, который вызывается только после создания объекта. Но по какой-то причине, независимо от того, что я передаю в этом установщике, 0 всегда передаетсяonItemSelected() метод в Spinner'sOnItemSelectedListener.

ОДНАКО, если я просто подожду, пока произойдет первый первоначальный выбор, и снова запустлю мой установщик, все будет работать нормально. Итак, чтобы было понятнее, вот что я вижу в отладчике:

объект (спиннер) созданслушатель прилагаетсясеттер запущен, число, скажем, 4 (счетчик содержит более 4 выборок) передаетсяsetSelection() методПОДОЖДИ НЕМНОГОВ НАСТОЯЩЕЕ ВРЕМЯonItemSelected() выполняется в первый раз, но позиция, присвоенная этому методу, равна 0!ЖДУ БОЛЬШЕопять запускаем сеттерочередной разonItemSelected() в этот раз, заданная позиция 4, как это и должно было быть!

Теперь это проводной. Кажется, невозможно установить этот счетчик до тех пор, пока не будет запущен первый начальный выбор, который всегда равен 0. Так почему же так, и что я могу сделать, чтобы установить первоначальный выбор?

 ban-geoengineering02 февр. 2017 г., 23:42
Этот ответ (на другой ТАК вопрос) работал для меня:stackoverflow.com/a/17370964/1617737
 Matt Harris28 янв. 2012 г., 21:09
Не могли бы вы опубликовать код, используемый при настройке Spinner? Похоже, это может быть потому, что у вас есть код в неправильном порядке

Ответы на вопрос(2)

Решение Вопроса

Spinner#setSelection (int position, boolean animate) с живой = ложь. Я помню, некоторое время назад у меня была похожая проблема, и это помогло. Кажется, внутренняя реализация отличается от различий, исходящих от одушевленной части.

 Shylendra Madda25 окт. 2017 г., 11:11
Сработало для меня тоже .. но не знаю, почему это работает, когда одушевление становится правдой ..
 masi28 янв. 2012 г., 22:09
работал как шарм.

его можно записать следующим образом:

Spinner sp = (Spinner) findViewById(R.id.spinner);
sp.setSelection(0);   // sets the first item 

onItemselectedlistener вызывается при изменении выбора элемента счетчика.

Ваш ответ на вопрос