Spinner Android(SetPrompt)

时间:2013-12-11 02:53:05

标签: android spinner

我遇到了一个我定义并绑定到数组资源的微调器的问题。问题是它首次构造时“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将首次构造微调器的事实的答案。所以,理所当然,我忽略了第一个电话。但是正如我所提到的那样,首次进入是默认的。

When it is first loaded The whole list

那么,如果这一行不会做任何事情_spnCountDown.setPrompt(“5秒”)

1 个答案:

答案 0 :(得分:0)

我不确定,但如果我理解你的问题,这表明也许你应该使用setSelection? Setting default values in spinner in android