English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Kürzlich habe ich bei einem Projekt den Android Spinner verwendet und hier eine kleine Beispielanwendung geschrieben, um zu testen, wie man ihn verwendet.
Spinner
ist eine Dropdown-Liste. Ziehen Sie einen Spinner-Kontrollkästchen in die Android-Oberfläche und setzen Sie im Attribut Android:entries=“@array/spinner_data"
Dabei ist spinner_data ein Array, das im string definiert ist. Das Array enthält festgelegte Werte. Zu diesem Zeitpunkt kann die Dropdown-Liste auf der Oberfläche eingerichtet werden.
<Spinner android:id="@"+id/spinner1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@"+id/textView1" android:layout_below="@"+id/textView1" android:layout_marginTop="17dp" android:entries="@array/spinner_data"/>
Natürlich kann man, um eine gute Benutzererfahrung zu gewährleisten, die Eigenschaft android:spinnerMode="dialog" setzen, was eine Pop-up-Liste für die Dropdown-Liste ermöglicht.
Adapter:
Der Adapter ist verantwortlich für die Extraktion von Daten aus der Datenquelle und das Übertragen an verschiedene UI-Komponenten. Der Hauptadapter adapter besteht aus ArrayAdapter und BaseAdapter. Der Adapter ist verantwortlich für das Übertragen von Daten aus einer bestimmten Datenquelle wie einem Array an einen Spinner und das Anzeigen auf der Oberfläche.
Zunächst wird die Datenquelle definiert
private String[] ss=new String[]{ "Katze", "Tiger", "Löwe", };
Datenquelle2
private List<String> list=new ArrayList<String>(); list.add("百度"); list.add("腾讯"); list.add("阿里巴巴");
Zweitens wird eine Klasse Myadapter definiert, die von der abstrakten Klasse BaseAdapter abgeleitet wird, und vier abstrakte Methoden hat.
private class Myadapter extends BaseAdapter{ @Override public int getCount</span>() { // TODO Auto-generierter Methodenstummel return ss.length; } @Override public Object getItem(int position) { // TODO Auto-generierter Methodenstummel return null; } @Override public long getItemId(int position) { // TODO Auto-generierter Methodenstummel return 0; } @Override public View getView</span>(int position, View convertView, ViewGroup parent) { // TODO Auto-generierter Methodenstummel TextView textView = new TextView(MainActivity.this); textView.setText(ss[position]); return textView; }
Dann im Hauptprogramm
Spinner spinner = (Spinner) findViewById(R.id.spinner;1); BaseAdapter adapter = new Myadapter(); spinner.setAdapter(adapter);
Zuerst finden Sie das Spinner-Steuerlement und instantiieren Sie ein neues Adapter. Verwenden Sie den Adapter, um Daten aus der Datenquelle ss abzurufen.
Der wichtigste Methoden der BaseAdapter-Adapter sind getcount() und getview() Methode. Der前者 gibt die Länge der Datenquelle zurück, der Letztere führt einige Operationen durch.
Natürlich kann man den einfacheren ArrayAdaper-Adapter verwenden.
Spinner spinner = (Spinner) findViewById(R.id.spinner;1); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, ss); spinner.setAdapter(adapter);
Mit diesen Anweisungen können Sie direkt im Array ss positionieren.
Vielen Dank für das Lesen, ich hoffe, es kann Ihnen helfen, danke für Ihre Unterstützung dieser Website!