2017-07-04 70 views
2

我有30個項目在ArrayList和它的微調工具,我把它放在Java文件這樣最好的方式來實現的ArrayList Android Studio中

ArrayList<String> listProblemSolving = new ArrayList<>(); 
    listProblemSolving.add("List1"); 
    listProblemSolving.add("List2"); 
    listProblemSolving.add("List3"); 
    listProblemSolving.add("List4"); 
    listProblemSolving.add("List5"); 
    listProblemSolving.add("List6"); 
    listProblemSolving.add("List7"); 
    ... 
    ArrayAdapter<String> adapterProblemSolving = new ArrayAdapter<String>(this, 
      android.R.layout.simple_spinner_dropdown_item, listProblemSolving); 

,我在轉實現這樣

sp.setAdapter(adapterProblemSolving); 

問題是,我可以將列表項存儲在字符串文件中嗎? 而有任何簡單的方式,如果我想給不同的行動項目列表,比如我試試這個

sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      if (position == 1) 
       // do something 

      if (position == 2) 
       // do something 

      ... 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    }); 

謝謝你,對不起,我發現你這是dupplicate問題。

回答

2

好了,如果你的條目是簡單的字符串,那麼你可以試試這個

在strings.xml

<string-array name="data_array"> 
    <item>value 1</item> 
    <item>value 2</item> 
    <item>value 3</item> 
</string-array> 

在你的XML佈局微調

<Spinner 
... 
... 
android:entries="@array/data_array" /> 
+0

謝謝你,但我怎麼能實現它,如果我創建微調編程? – MNFS

+0

您必須使用適配器。你可以直接使用xml中的string_array。 Arrayadapter.createFromResource(....) –

4

您可以創建一個在您的strings.xml文件中使用字符串數組,並在您的Adapter中使用它。

這裏是例子:

<resources> 
    <string-array name="numbers"> 
     <item>1</item> 
     <item>2</item> 
     <item>3</item> 
     <item>4</item> 
    </string-array> 
</resources> 

在你的活動,你可以使用它像下面的代碼:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    String[] numbers = getResources().getStringArray(R.array.numbers); 
    Spinner spinner = (Spinner) findViewById(R.id.spinner); 
    ArrayAdapter<String> adapter = new ArrayAdapter<>(this, 
     android.R.layout.simple_spinner_dropdown_item, numbers); 
    spinner.setAdapter(adapter); 
} 
+0

這應該被標記爲正確的答案。 – Ginni