0
我遇到了一个问题,我已经定义了一个微调框并绑定到一个数组资源。问题在于它仅在第一次构建时默认为数组的第一项。我正在使用setPrompt,看起来它完全被忽略。我写了日志,我可以在日志中看到我将它设置为正确的值,但它保持默认为数组中的第一个元素。微调框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