Когда приложение стартует - переопределяю метод активити protected void onResume(), данные считываются из конф. файла и методом spinner.setSelection(val); - выбирается позиция сохраненная в предыдущий раз.
Проблема в следующем - всегда при старте срабатывает событие spinner.setOnItemSelectedListener и метод определенный внутри него, как то криво получается, пользователь ни чего не выбрал, просто запустил приложение, а на экране высвечивается текущая строка. Как этого избежать?
UPD: если перевернуть экран, тоже срабатывает это событие...плохо
Код: Выделить всё
//задать событие на выбор из списка
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View itemSelected, int selectedItemPosition, long selectedId) {
Toast.makeText(MainActivity.this, String.valueOf(selectedItemPosition), Toast.LENGTH_LONG).show();
...сохраняю значение selectedItemPosition в конф.файл
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
protected void onResume() {
super.onResume();
val = считываю данные из конф.файла
spinner.setSelection(val);
}