Я столкнулся с проблемой со счетчиком, который я определил и привязал к ресурсу массива. Проблема в том, что он «ТОЛЬКО» по умолчанию устанавливает первый элемент массива при его построении. Я использую setPrompt, и похоже, что он полностью игнорируется. Я написал в журнал, и я могу видеть в журнале, что я устанавливаю его в нужное значение, но вместо этого он по-прежнему игнорирует первый элемент в массиве.Spinner Android (SetPrompt)
_spnCountDown.setPrompt(setting);
Log.d("SETTING_SPINNER", setting);
_spnCountDown.setOnItemSelectedListener(new OnItemSelectedListener()
{
boolean _firstTime = true;
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3)
{
if (_firstTime == false)
{
String value = _spnCountDown.getSelectedItem().toString();
MobileAppManager.getInstance().storeSetting("CountDown",
value);
Log.d("SETTING_SPINNER onItemSelected", value);
}
else
{
Log.d("SETTING_SPINNER onItemSelected", "Ignore");
_spnCountDown.setPrompt(Settings.this.getInitialCountDown());
_firstTime = false;
}
}
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
});
Я следовал несколько ответов, которые рекомендуют использовать флаг, чтобы преодолеть тот факт, что onSetItemSelected будет первым в первый раз вертушка строится. Итак, по праву, я игнорирую первый звонок. Однако, как я уже упоминал, он не выполняет первую запись.
Итак, если эта линия не будет делать ничего _spnCountDown.setPrompt («5 секунд»)
Вы правы. Я думал, что setPrompt будет неявно устанавливать значение так же, как Html Select/DropDown. Спасибо, что заметили. – Sam