Heim > Artikel > Backend-Entwicklung > Android-UI-Steuerelementserie: AutoCompleteTextView (automatische Eingabeaufforderung)
Die Funktion von AutoCompleteTextView ähnelt den Eingabeaufforderungsinformationen, die in der Nähe der Eingabeinformationen angezeigt werden, wenn Baidu oder Google Informationen in die Suchleiste eingeben. Natürlich sind hier einige Adapter erforderlich.
bietet zwei intelligente Eingabefelder in Android: MultiAutoCompleteTextView und AutoCompleteTextView. Ihre Funktionen sind ungefähr die gleichen. Der Unterschied zu AutoCompleteTextView besteht darin, dass MultiAutoCompleteTextView immer neue Auswahlwerte in das Eingabefeld hinzufügen kann. Auch die Schreibweise ist unterschiedlich, Sie müssen setTokenizer() nach setAdapter aufrufen. Lassen Sie uns es unten im Detail vorstellen.
1. AutoCompleteTextView
1. Einführung
Eine bearbeitbare Textansicht, die eine Eingabeaufforderung anzeigt, wenn der Benutzer Informationen eingibt. Die Liste der Eingabeaufforderungen wird in einem Dropdown-Menü angezeigt, aus dem der Benutzer ein Element auswählen kann, um seine Eingabe abzuschließen. Die Eingabeaufforderungsliste besteht aus Daten, die von einem Datenadapter abgerufen wurden.
2. Wichtige Methoden
clearListSelection(): Ausgewähltes Listenelement löschen
dismissDropDown(): Dropdown-Menü schließen, falls vorhanden
getAdapter(): Erhalten Sie den Adapter
3. Erstellungsanweisungen
(1) Layoutdatei
<AutoCompleteTextView android:id="@+id/edit" android:layout_width="match_parent" android:layout_height="wrap_content" />
(2) Programm
Instanziieren Sie den Adapter
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, strs);
Adapter festlegen
edit.setAdapter(adapter);
2. MultiAutoCompleteTextView
1. Einführung
Geerbt von AutoCompleteTextView, um die Länge von AutoCompleteTextView zu erweitern muss einen MultiAutoCompleteTextView.Tokenizer bereitstellen, um verschiedene Teilzeichenfolgen zu unterscheiden
2. Wichtige Methoden
enoughToFilter(): Filtern, wenn die Textlänge den Schwellenwert überschreitet
performValidation(): Statt Beim Validieren des gesamten Textes validiert diese Klassenmethode jedes einzelne Text-Token
setTokenizer(MultiAutoCompleteTextView.Tokenizer t); wenn der Benutzer tippt, wird die Tokenizer-Einstellung verwendet, um den Text innerhalb des relevanten Bereichs zu bestimmen
3. Gebrauchsanweisung
(1) Layoutdatei
<MultiAutoCompleteTextView android:id="@+id/edit1" android:layout_width="match_parent" android:layout_height="wrap_content" />
(2) Programm
Adapter instanziieren
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, strs);
Ermitteln Sie die Umfang
edit1.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer())
Das Folgende ist Beispiel
AutoCommitTest.java
package org.hualang.auto; import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.MultiAutoCompleteTextView; public class AutoCommitTest extends Activity { /** Called when the activity is first created. */ private static final String[] autoString=new String[]{"welcome","well", "weatch","weexeview","werap"}; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //关联关键字 ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, autoString); AutoCompleteTextView autocomplete=(AutoCompleteTextView)findViewById(R.id.auto); autocomplete.setAdapter(adapter); MultiAutoCompleteTextView multi=(MultiAutoCompleteTextView) findViewById(R.id.multi); //将adapter添加到AutoCompleteTextView中 multi.setAdapter(adapter); multi.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); } }
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="自动提示功能演示" /> <AutoCompleteTextView android:id="@+id/auto" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <MultiAutoCompleteTextView android:id="@+id/multi" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
Die laufenden Ergebnisse sind wie folgt:
Das Obige ist das Inhalt der Android-UI-Steuerelementreihe: AutoCompleteTextView (automatische Eingabeaufforderung). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).