Maison > développement back-end > tutoriel php > Série de contrôles de l'interface utilisateur Android : AutoCompleteTextView (invite automatique)

Série de contrôles de l'interface utilisateur Android : AutoCompleteTextView (invite automatique)

黄舟
Libérer: 2023-03-05 06:00:02
original
2122 Les gens l'ont consulté

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" />
Copier après la connexion


(2) Programme

Instancier l'adaptateur

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, strs);
Copier après la connexion

Définir l'adaptateur

edit.setAdapter(adapter);
Copier après la connexion

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" />
Copier après la connexion

(2) Programme

Adaptateur instantané

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, strs);
Copier après la connexion

Déterminer le scope

edit1.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer())
Copier après la connexion

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());  
    }  
}
Copier après la connexion

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>
Copier après la connexion

Les résultats en cours d'exécution sont les suivantes :

Série de contrôles de linterface utilisateur Android : AutoCompleteTextView (invite automatique)

Série de contrôles de linterface utilisateur Android : AutoCompleteTextView (invite automatique)

Série de contrôles de linterface utilisateur Android : AutoCompleteTextView (invite automatique)


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


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal