Heim  >  Artikel  >  Backend-Entwicklung  >  Android-UI-Steuerelementserie: AutoCompleteTextView (automatische Eingabeaufforderung)

Android-UI-Steuerelementserie: AutoCompleteTextView (automatische Eingabeaufforderung)

黄舟
黄舟Original
2017-01-19 09:34:532103Durchsuche

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:

Android-UI-Steuerelementserie: AutoCompleteTextView (automatische Eingabeaufforderung)

Android-UI-Steuerelementserie: AutoCompleteTextView (automatische Eingabeaufforderung)

Android-UI-Steuerelementserie: AutoCompleteTextView (automatische Eingabeaufforderung)


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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn