您的位置:首页 > 其它

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

2016-04-11 17:24 537 查看
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());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: