AutoCompleteTextView自动完成文本框简单介绍

来源:互联网 发布:淘宝女装夏装连衣裙 编辑:程序博客网 时间:2024/04/29 09:49

AutoCompleteTextView自动完成文本框简单介绍
以及 子类MultiAutoCompleteTextView自动完成文本框(允许提示多个提示项目,多个提示项目以分隔符分开,提供了setTokenizer()方法来设置分隔符)简介

首先定义布局文件包含两个自动完成文本框,允许定义的属性有如下图
这里写图片描述

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <AutoCompleteTextView         android:id="@+id/auto"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:completionHint="请选择您喜欢的 图书:"        android:dropDownHorizontalOffset="10dp"        android:completionThreshold="1"/>    <MultiAutoCompleteTextView         android:id="@+id/mauto"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:completionThreshold="1"/></LinearLayout>

接下来是代码实现

package com.text.autocompletetextview;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;import android.widget.MultiAutoCompleteTextView;public class MainActivity extends Activity {    AutoCompleteTextView actv;    MultiAutoCompleteTextView mauto;    //定义一个字符串数组,作为提示的文本    String [] books = new String[]{        "中国","美国","英国","日本","韩国"        };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //创建一个ArrayAdapter来封装数组;        /*         * 这段代码是创建一个数组适配器的代码,里面有三个参数,第一个参数是上下文,就是当前的Activity,          *          * 第二个参数是android sdk中自己内置的一个布局,它里面只有一个TextView,         * 这个参数是表明我们数组中每一条数据的布局是这个view,就是将每一条数据都显示在这个 view上面;         *          * 第三个参数就是我们要显示的数据。listView会根据这三个参数,遍历adapterData里面的每一条数据,         * 读出一条,显示到第二 个参数对应的布局中,这样就形成了我们看到的listView         */        ArrayAdapter<String> aa = new ArrayAdapter<String>        (this,android.R.layout.simple_dropdown_item_1line,books);        //自动完成文本 AutoCompleteTextView        actv = (AutoCompleteTextView)findViewById(R.id.auto);        actv.setAdapter(aa);        //自动完成文本 AutoCompleteTextView的派生子类功能基本相似,不过允许多个提示项,并用分隔符分隔,        //使用多个分隔符分隔时必须添加CommaTokenizer()方法来设置分隔符。        mauto = (MultiAutoCompleteTextView)findViewById(R.id.mauto);        mauto.setAdapter(aa);        //设置分隔符。        mauto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());    }}
0 0
原创粉丝点击