2013-12-11 106 views
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將首先在第一時間微調構造的事實幾個答案。所以,理所當然地,我忽視了第一個電話。不過,正如我所提到的,這是默認的第一次入場。

When it is first loaded The whole list

因此,如果此行不會做任何事情_spnCountDown.setPrompt(「5秒。」)

回答

0

我不知道,但如果我明白你的問題正確這說明也許你應該使用setSelection? Setting default values in spinner in android

+0

你說得對。我在想,setPrompt會隱式設置值,就像Html Select/DropDown一樣。 感謝您的注意。 – Sam