我遇到了一个我定义并绑定到数组资源的微调器的问题。问题是它首次构造时“ONLY”默认为数组的第一项。我正在使用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秒”)
答案 0 :(得分:0)
我不确定,但如果我理解你的问题,这表明也许你应该使用setSelection? Setting default values in spinner in android