In der .xml einen Spinner einfügen
Statisch Werte einfügen
- Spinner erstellen
Entweder in einen Container “Spinner” in das Layout ziehen
oder den Spinner von Hand in die
activity.xmlschreiben:
<Spinner
android:id="@+is/spinnerID"
android:layout_width=""
android:layout_height="wrap_content"
/>- Werte erstellen
res/values/strings.xml
<resources>
<string name="app_name">UISpinner</string>
<string-array name="tempCalTypes">
<item>C° in F°</item>
<item>C° in K</item>
<item>F° in C°</item>
<item>F° in K°</item>
<item>K in C°</item>
<item>K in F°</item>
</string-array>
</resources>- Spinner mit Werten füllen
MainActivity.java
// 1. Referenz auf Spinner herstellen
Spinner spinner = (Spinner) findViewById(R.id.spinnerID);
// 2. Erzeugen des Adapters
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this,R.array.tempCalTypes, android.R.layout.simple_spinner_item
);
@Override
protected void onCreate(Bundle savedInstanceState){
// 3. Festlegen der Darstellung
adapter.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item
);
//4. Spinner mit Adapter verknüpfen
spinner.setAdapter(adapter);
}Dynamisch Werte hinzufügen
MainActivity.java
// 1. Referenz auf Spinner herstellen
Spinner spinner = (Spinner) findViewById(R.id.spinnerID);
// 2. dynamische Daten generieren (Simulation)
ArrayList<String> list = new ArrayList<>();
list.add("C° in F°");
...
ArrayAdapter<String> adapter = new ArrayAdapter<>(
this,android.R.layout.simple_spinner_item,list
);
adapter.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item
);
spinner.setAdapter(adapter);Auf Aktionen reagieren (EventHandler)
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
protected void onCreate(Bundle savedInstanceState){
...
spinnerBild.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,long id){
String output;
output = parent.getItemAtPosition(position).toString();
blOutput.setText(output);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
//leere Implementierung
}
}Ausgewählten Wert verwenden
Spinner inputBaumArt = findViewById(R.id.spinnerID);
String baumArt = inputBaumArt.getSelectedItem().toString();