2017-07-04 6 views
2

i haben 30 Artikel in Arraylist und seine in Spinner zu implementieren, ich legte sie in Java-Datei wie dieseDer beste Weg Arraylist in Android implementieren 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); 

und i implementieren in Spinner wie diese

sp.setAdapter(adapterProblemSolving); 

Die Frage ist, kann ich das Listenelement in Strings-Datei speichern? Und gibt es eine einfach Art und Weise, wenn ich beispielsweise für verschiedene Maßnahmen zur Artikelliste, geben will ich versuchen, dieses

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) { 

     } 
    }); 

Sie und sorry danke ich Ihnen diese als dupplicate Frage gefunden.

Antwort

2

Nun, wenn Sie Ihre Eingaben einfache Strings sind, dann können Sie versuchen, diese

In Ihrem strings.xml

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

in Ihrem XML-Layout für Spinner

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

danke, aber wie kann ich es realisieren, wenn ich programmatisch Spinner erstellen? – MNFS

+0

Sie müssen Adapter verwenden. Sie können string_array direkt von XML verwenden. Arrayadapter.createFromResource (....) –

4

Sie können ein erstellen string-array in der Datei strings.xml und verwende diese in deinem Adapter. Hier

ist das Beispiel:

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

In Ihrer Tätigkeit, können Sie es wie dem folgenden Code verwenden:

@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

Dies sollte als richtige Antwort markiert werden. – Ginni

Verwandte Themen