AutoCompleteTextView 和 MultiAutoCompleteTextView 自动完成文本控件
概述
在html中有很多自动完成的应用,例如,百度的搜索,输入一些关键字,下面就会自动列出该关键字对应的一些消息

在Android中也有自动完成文本,这就是AutoCompleteTextVeiw和MultiAutoCompleteTextView 。
AutoCompleteTextVeiw支持基本的自动完成功能,适用在各种搜索功能中,并且可以根据自己的需求设置他的默认显示数据
AutoCompleteTextVeiw和(自动完成文本框)从 EditText派生而来,MultiAutoCompleteTextView 从AutoCompleteTextVeiw派生而来,
MultiAutoCompleteTextView 允许输入多个提示项,多个提示项以分隔符分隔,多用于发送邮件和短信。
AutoCompleteTextView除了可使用EditText提供的XMl属性和方法之外,还支持如下常用的XML属性和方法
| android:completionHint | setCompletionHint(CharSequence) | 设置下拉菜单中的提示标题 |
| android:completionHintView | 设置下拉菜单中提示标题的视图 | |
| android:completionThreshold | setThreshold(int) | 设置用户至少输入几个字符才会显示提示 |
| adnroid:dropDownAnchor | setDropDownAnchor(int) |
设置下拉菜单的定位“锚点”组件,如果没有指定该属性, 将使用该TextView本身作为定位” |
| adnroid:dropDownHeight | setDropDownHeight(int) | 设置下拉菜单的高度 |
| android:dropDownHorizontalOffest | 设置下拉菜单与文本框之间的水平偏移,下拉菜单默认与文本框左对齐 | |
| adnroid:dropDownVerticalOffest | 设置下拉菜单与文本框之间的垂直偏移,下拉菜单默认紧跟文本框 | |
| android:dropDownWidth | setDropDownWidth(int) | 设置下拉菜单的宽度 |
| android:popupBackground | setDropDownBackgroundResource(int) | 设置下拉菜单的背景 |
AutoCompleteTextView
使用步骤
1、初始化控件
2、设置一个适配器
3、初始化数据源--数据源去匹配文本框中输入的类容
4、将adapter与当前AutoCompleteTextView绑定
代码
XML代码:
<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/autoText1"
android:hint="@string/hid_autoTip" android:completionThreshold="3"/> <!--输入多少个字符才开始匹配-->
Java代码:
public class MainActivity extends ActionBarActivity {
//1、初始化控件
private AutoCompleteTextView autoTxt1;
//3、初始化数据源--数据源去匹配文本框中输入的类容
private String[] res={"beijing1","beijing2","beijing3","shanghai1","shanghai2","shanghai3"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*
* AutoCompleteTextView
* 1、初始化控件
* 2、需要一个适配器
* 3、初始化数据源--数据源去匹配文本框中输入的类容
* 4、将adapter与当前AutoCompleteTextView绑定
* */
//1、初始化控件
autoTxt1=(AutoCompleteTextView)findViewById(R.id.autoText1);
// 2、需要一个适配器
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res);
//4、将adapter与当前AutoCompleteTextView绑定
autoTxt1.setAdapter(adapter);
}
}
运行效果:

MultiAutoCompleteTextView
使用步骤
1、初始化控件
2、设置一个适配器
3、初始化数据源--数据源去匹配文本框中输入的类容
4、将adapter与当前AutoCompleteTextView绑定
5、设置分隔符
代码
XML代码:
<MultiAutoCompleteTextView
android:id="@+id/MAutoText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入电子邮件"
android:layout_below="@+id/autoText1"
/>
Java代码:
public class MainActivity extends ActionBarActivity {
// 3、初始化数据源--数据源去匹配文本框中输入的类容
private String[] res={"beijing1","beijing2","beijing3","shanghai1","shanghai2","shanghai3"};
/*
* MultiAutoCompleteTextView
* 1、初始化控件
* 2、创建一个适配器
* 3、初始化数据源--数据源去匹配文本框中输入的类容
* 4、将adapter与当前AutoCompleteTextView绑定
* 5、设置分隔符
* */
//1、初始化控件
private MultiAutoCompleteTextView MautoTxt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 2、创建一个适配器
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res);
MautoTxt= (MultiAutoCompleteTextView) findViewById(R.id.MAutoText);
// 4、将adapter与当前AutoCompleteTextView绑定
MautoTxt.setAdapter(adapter);
//设置输入多少字符时自动匹配
MautoTxt.setThreshold(2);
//5、设置分隔符,设置以逗号分割符为结束符号
MautoTxt.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}
运行效果:

AutoCompleteTextView 和 MultiAutoCompleteTextView 自动完成文本控件的更多相关文章
- jquery 自动补全控件(支持IE6)待整理
自动补全控件(兼容IE6):http://bassistance.de/ download地址:http://jquery.bassistance.de/autocomplete/jquery.aut ...
- 重新想象 Windows 8 Store Apps (1) - 控件之文本控件: TextBlock, TextBox, PasswordBox, RichEditBox, RichTextBlock, RichTextBlockOverflow
原文:重新想象 Windows 8 Store Apps (1) - 控件之文本控件: TextBlock, TextBox, PasswordBox, RichEditBox, RichTextBl ...
- SNF快速开发平台MVC-富文本控件集成了百度开源项目editor
一.效果如下: 二.在框架当中调用代码如下: 1.在js里配置如下: <script type="text/javascript"> var viewModel =fu ...
- FastReport.Net使用:[14]文本控件使用
文本控件(Text)是FastReport中最常用的控件了,它可以是一行\多行文本.数据源的列.报表参数.汇总值.表达式,它还可以是以上任何元素的组合. 如何使用文本编辑器 1.双击文本框进入文本编辑 ...
- Android自定义控件:自适应大小的文本控件
需求 自适应大小的文本: 效果图: 项目开发中,开发人员根据UI人员提供的一套尺寸,布局了一些带文本的页面, 往往会少考虑一些数据极限的问题,造成机型屏幕适配问题. 例如: 文本(或数值)长度可变,如 ...
- pb自动注册ole控件
方法一: 1.手工注册OCX控件 将该控件随程序一起发布,然后,将此文件拷到windows\system,或者直接放在本运行目录,然后执行dos命令,run( "regsvr32 *. ...
- 解决方案:带格式化文本控件( RichText)的模板如果在InfoPath的浏览器中加载可能出现 COM 组件的80040154错误
建议大家在微软的组件出现问题时,在GOOGLE上搜索解决方案,一般来说,总有结果: 带格式化文本控件( RichText)的模板如果在InfoPath的浏览器中加载,可能出现 COM 组件的80 ...
- WCF学习(二)对控件简单了解以及4个文本控件的简介
WPF基础控件 系统默认提供的基础控件: 文本控件介绍与用法 Label控件 label控件:一般用户描述性文字显示. 在Label控件使用时,一般给予用户提示.用法上没有什么很特殊的,label控件 ...
- wxPython中按钮、文本控件的简单运用
本节学习图形用户界面 ------------------------ 本节介绍如何创建python程序的图形用户界面(GUI),也就是那些带有按钮和文本框的窗口.这里介绍wxPython : 下载地 ...
随机推荐
- win7 wifi
win7 wifi the settings saved on this computer for the network do not match the requirements of the n ...
- Shiro的校验Session是否过期处理的过程
首先开启定时扫描活跃的session进行校验 <!-- shiro会话管理 --> <!-- 即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中:会话可以是普通 Jav ...
- nginx的location和rewrite
1 Nginx rewrite基本语法 Nginx的rewrite语法其实很简单.用到的指令无非是这几个 set if return break rewrite 麻雀虽小,可御可萝五脏俱全.只是简单的 ...
- axis2 webService开发指南(3)
复杂对象类型的WebService 这次我们编写复杂点的WebService方法,返回的数据是我们定义属性带getter.setter方法JavaBean,一维数组.二维数组等 1.服务源代码 新建一 ...
- Python基础语法习题一
Part 1 习题 1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型 2.执行 Python 脚本的两种方式是什么 3.Pyhton 单行注释和多行注释分别用什么 ...
- IDEA快捷键【收藏】
Ctrl+Alt+L 格式化代码Ctrl+Shift+J 两行合成一行,删去不必要的空格匹配代码格式其他快捷键:[常规]Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 ...
- UV mapping
[UV mapping] UV mapping is the 3D modeling process of making a 2D image representation of a 3D model ...
- 解决SharePoint下载文件时自动修改扩展名的问题
今天,有人告诉了我一个有趣的问题.当用户将一个扩展名为.ai的文件(Adobe illustrator格式的文件)上载到SharePoint 2013文档库中之后,点击它下载时,下载提示栏所显示的文件 ...
- Gym101128G:Game of Cards
题意: 有P摞纸牌和一个数字k,每次可以从一摞中拿0-k张牌,拿完再剩下的牌中的第一张数字是几,就必须再拿几张,谁不能拿谁输. emmm感觉好像就是裸的SG游戏啊,数据不大,递推出每一摞牌的SG值,然 ...
- 更改IDEA高亮字体背景颜色
IDEA工具中依次进入file -> settings -> editor -> colors Scheme -> general,在右侧窗口中将result.i 都改成自己 ...