Beispiel für Android-Spinner (Dropdown-Liste)
In Android können Sie mit der Klasse "http://developer.android.com/reference/android/widget/Spinner.html[android.widget.Spinner]" eine Dropdown-Box-Auswahlliste rendern.
Note
Spinner ist ein Widget, das einer Dropdown-Liste zum Auswählen von Elementen ähnelt.
In diesem Tutorial zeigen wir Ihnen, wie Sie die folgenden Aufgaben ausführen:
-
Rendern Sie einen Spinner in XML und laden Sie die Auswahlelemente auch über eine XML-Datei.
-
Rendern Sie einen anderen Spinner in XML und laden Sie die Auswahlelemente dynamisch per Code.
-
Hängen Sie einen Listener an Spinner an und feuern Sie, wenn der Benutzer einen Wert in Spinner auswählt.
-
Rendern Sie einen Listener und hängen Sie ihn an eine normale Schaltfläche an. Wenn der Benutzer darauf klickt, wird der ausgewählte Spinner-Wert angezeigt.
P.S This project is developed in Eclipse 3.7, and tested with Android 2.3.3.
1. Liste der Artikel in Spinner
Öffnen Sie die Datei "res/values/strings.xml" und definieren Sie die Liste der Elemente, die in Spinner angezeigt werden (Dropdown-Liste).
Datei: res / values / strings.xml
MyAndroidApp Choose a country - Malaysia
- United States
- Indonesia
- France
- Italy
- Singapore
- New Zealand
- India
2. Spinner (DropDown-Liste)
Öffnen Sie die Datei "res/layout/main.xml", fügen Sie zwei Spinner-Komponenten und eine Schaltfläche hinzu.
-
In "spinner1" repräsentiert "
android:entries" die Auswahlelemente in spinner. -
In „spinner2“ werden die Auswahlelemente später im Code definiert.
Datei: res / layout / main.xml
3. Code Code
Lesen Sie den Code und auch den Kommentar des Codes, er sollte selbsterklärend sein.
Datei: MyAndroidAppActivity.java
package com.example.android;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;
public class MyAndroidAppActivity extends Activity {
private Spinner spinner1, spinner2;
private Button btnSubmit;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
addItemsOnSpinner2();
addListenerOnButton();
addListenerOnSpinnerItemSelection();
}
// add items into spinner dynamically
public void addItemsOnSpinner2() {
spinner2 = (Spinner) findViewById(R.id.spinner2);
List list = new ArrayList();
list.add("list 1");
list.add("list 2");
list.add("list 3");
ArrayAdapter dataAdapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(dataAdapter);
}
public void addListenerOnSpinnerItemSelection() {
spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner1.setOnItemSelectedListener(new CustomOnItemSelectedListener());
}
// get the selected dropdown list value
public void addListenerOnButton() {
spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner2 = (Spinner) findViewById(R.id.spinner2);
btnSubmit = (Button) findViewById(R.id.btnSubmit);
btnSubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MyAndroidAppActivity.this,
"OnClickListener : " +
"\nSpinner 1 : "+ String.valueOf(spinner1.getSelectedItem()) +
"\nSpinner 2 : "+ String.valueOf(spinner2.getSelectedItem()),
Toast.LENGTH_SHORT).show();
}
});
}
}
Datei: CustomOnItemSelectedListener.java
package com.example.android;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Toast;
public class CustomOnItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView> parent, View view, int pos,long id) {
Toast.makeText(parent.getContext(),
"OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),
Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView> arg0) {
// TODO Auto-generated method stub
}
}
4. Demo
Führen Sie die Anwendung aus.
1. Als Ergebnis werden zwei Spinner angezeigt:


2. Wählen Sie "Frankreich" von spinner1, der Listener für die Elementauswahl wird ausgelöst:

3. Wähle "list2" von spinner2 aus und klicke auf "submit":

Quellcode herunterladen
Laden Sie es herunter -Android-Spinner-DropDownList-Example.zip (16 KB)