2014-02-13 40 views
0

我想從字符串數組中填充微調。我已經嘗試過不同解決方案的各種方法,但每次微調器都是空的。微調不從字符串數組填充

注:我使用actionbarsherlock微調(如導航列表)

這裏是代碼:

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    super.onCreateOptionsMenu(menu, inflater); 
    inflater.inflate(R.menu.main, menu); 

    MenuItem menuItem = menu.findItem(R.id.menu_spinner); 
    IcsSpinner spinner = (IcsSpinner) menuItem.getActionView(); 

    // Approach 1 
    // using Spinner Adapter 

    SpinnerAdapter mSpinnerAdapter; 

    if (Build.VERSION.SDK_INT <= 10) { 
     mSpinnerAdapter = ArrayAdapter.createFromResource(activity, 
       R.array.news_menu, android.R.layout.simple_spinner_item); 
    } else { 
     mSpinnerAdapter = ArrayAdapter.createFromResource(activity, 
       R.array.news_menu, 
       android.R.layout.simple_spinner_dropdown_item); 
    } 

    Log.d(Const.DEBUG, "Spinner Count = " + mSpinnerAdapter.getCount()); 


    //Approach 2 
    //using ArrayAdapter 

    Resources res = getResources(); 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(activity, 
      android.R.layout.simple_spinner_item, 
      res.getStringArray(R.array.news_menu)); 

    Log.d(Const.DEBUG, "Adapter Count = " + adapter.getCount()); 

    //Approach 3 
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
      activity, R.array.news_menu, 
      android.R.layout.simple_spinner_item); 

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

    spinner.setAdapter(adapter); 


    //spinner.setSelection(0); 
} 

無論是mSpinnerAdapter和適配器(陣列)顯示數爲4以下是我news_menu字符串數組

<string-array name="news_menu"> 
    <item>News</item> 
    <item>Tour Dates</item> 
    <item>Festival News And Rumors</item> 
    <item>Late Night Performances</item> 
</string-array> 
+0

它的填充只是不同,因爲微調文本顏色 –

+0

@DigveshPatel,我認爲是這樣,但是當我點擊微調,它不會打開,並且,微調的寬度幾乎爲零,這導致我相信微調不是人口稠密的。 –

回答

0

我已經習慣了從的ressource陣列填充飛旋做這樣的事情:

ArrayAdapter<String> adapter = ArrayAdapter.createFromResource(this, 
      R.array.news_menu, android.R.layout.simple_spinner_item); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner.setAdapter(adapter); 

我希望它有幫助。

+0

沒有..相同的結果...微調框是空的 –

+0

好的抱歉。也許這是你的xml文件的一個問題,我的庫存是res/values,並且有作爲根元素,它工作正常。 –