Я создал Spinner и активировал слушателя:
customerListSpinner.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> adapter, View view, int position, long id) {
// I do some work here
}
public void onNothingSelected(AdapterView<?> arg0) {
isInitRadioGroup = false;
}
);
Я изначально добавил в Spinner три значения: «Поиск», «Сотрудник», «Компания». Если пользователь выбирает «Поиск», отображается новый ListActivity, и в результате выбранное значение добавляется к указанному выше счетчику.
Таким образом, я выполняю некоторые действия при выборе элемента счетчика. Теперь, когда экран отображается в первый раз, по умолчанию отображается «Поиск». Чтобы запустить обработку ListActivity, пользователь должен снова выбрать «Поиск». На этот раз для ItemSelected обратный вызов не вызывается. Я имею в виду, что если значение в Spinner уже выбрано, то при повторном выборе того же значения слушатель не срабатывает.
Принимая во внимание: Когда экран отображается в первый раз, по умолчанию отображается «Поиск». Пользователь выбирает значение «Сотрудник» (обработка для этого выполняется, onItemSelected вызывается, поскольку предыдущее выбранное значение отличается от значения, выбранного пользователем). Затем пользователь выбирает значение «Поиск». На этот раз вызывается метод onItemSelected, который успешно добавляет новое значение в Spinner.
Это баг андроида. Я проверил, что в моем коде нет ошибок.