La fonction d'AutoCompleteTextView est similaire aux informations d'invite qui apparaissent à proximité des informations saisies lorsque Baidu ou Google saisissent des informations dans la barre de recherche. Bien sûr, certains adaptateurs sont nécessaires ici
fournit deux zones de saisie intelligentes dans Android, il s'agit de MultiAutoCompleteTextView et AutoCompleteTextView. Leurs fonctions sont à peu près les mêmes. La différence entre celui-ci et AutoCompleteTextView est que MultiAutoCompleteTextView peut toujours ajouter de nouvelles valeurs de sélection dans la zone de saisie. La manière d'écrire est également différente, vous devez appeler setTokenizer() après setAdapter. Présentons-le en détail ci-dessous.
1. AutoCompleteTextView
1. Introduction
Une vue de texte modifiable qui affiche une invite lorsque l'utilisateur saisit des informations. La liste d'invites apparaît dans un menu déroulant dans lequel l'utilisateur peut sélectionner un élément pour compléter sa saisie. La liste d'invites contient des données obtenues à partir d'un adaptateur de données.
2. Méthodes importantes
clearListSelection() : Effacer l'élément de liste sélectionné
dismissDropDown() : Fermez le menu déroulant s'il existe
getAdapter() : Obtenir l'adaptateur
3. Instructions de création
(1) Fichier de mise en page
<AutoCompleteTextView android:id="@+id/edit" android:layout_width="match_parent" android:layout_height="wrap_content" />
(2) Programme
Instancier l'adaptateur
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, strs);
Définir l'adaptateur
edit.setAdapter(adapter);
2. MultiAutoCompleteTextView
1 Introduction
Hérité d'AutoCompleteTextView, pour étendre la longueur d'AutoCompleteTextView, vous doit fournir un MultiAutoCompleteTextView.Tokenizer Pour distinguer les différentes sous-chaînes
2. Méthodes importantes
enoughToFilter() : Filtrer lorsque la longueur du texte dépasse le seuil
performValidation() : Au lieu de validant l'intégralité du texte, ce sous La méthode de classe vérifie chaque jeton de texte individuel
setTokenizer(MultiAutoCompleteTextView.Tokenizer t); lorsque l'utilisateur tape, le paramètre tokenizer sera utilisé pour déterminer le texte dans la plage appropriée
3. Mode d'emploi
(1) Fichier de mise en page
<MultiAutoCompleteTextView android:id="@+id/edit1" android:layout_width="match_parent" android:layout_height="wrap_content" />
(2) Programme
Adaptateur instantané
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, strs);
Déterminer le scope
edit1.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer())
Ce qui suit est un exemple
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>
Les résultats en cours d'exécution sont les suivantes :
Ce qui précède est le contenu de la série de contrôles de l'interface utilisateur Android : AutoCompleteTextView (invite automatique). Pour plus de contenu connexe, veuillez suivre le site Web PHP chinois (m.sbmmt.com) !