概述

在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 自动完成文本控件的更多相关文章

  1. jquery 自动补全控件(支持IE6)待整理

    自动补全控件(兼容IE6):http://bassistance.de/ download地址:http://jquery.bassistance.de/autocomplete/jquery.aut ...

  2. 重新想象 Windows 8 Store Apps (1) - 控件之文本控件: TextBlock, TextBox, PasswordBox, RichEditBox, RichTextBlock, RichTextBlockOverflow

    原文:重新想象 Windows 8 Store Apps (1) - 控件之文本控件: TextBlock, TextBox, PasswordBox, RichEditBox, RichTextBl ...

  3. SNF快速开发平台MVC-富文本控件集成了百度开源项目editor

    一.效果如下: 二.在框架当中调用代码如下: 1.在js里配置如下: <script type="text/javascript"> var viewModel =fu ...

  4. FastReport.Net使用:[14]文本控件使用

    文本控件(Text)是FastReport中最常用的控件了,它可以是一行\多行文本.数据源的列.报表参数.汇总值.表达式,它还可以是以上任何元素的组合. 如何使用文本编辑器 1.双击文本框进入文本编辑 ...

  5. Android自定义控件:自适应大小的文本控件

    需求 自适应大小的文本: 效果图: 项目开发中,开发人员根据UI人员提供的一套尺寸,布局了一些带文本的页面, 往往会少考虑一些数据极限的问题,造成机型屏幕适配问题. 例如: 文本(或数值)长度可变,如 ...

  6. pb自动注册ole控件

    方法一:  1.手工注册OCX控件 将该控件随程序一起发布,然后,将此文件拷到windows\system,或者直接放在本运行目录,然后执行dos命令,run( "regsvr32   *. ...

  7. 解决方案:带格式化文本控件( RichText)的模板如果在InfoPath的浏览器中加载可能出现 COM 组件的80040154错误

      建议大家在微软的组件出现问题时,在GOOGLE上搜索解决方案,一般来说,总有结果:  带格式化文本控件( RichText)的模板如果在InfoPath的浏览器中加载,可能出现 COM 组件的80 ...

  8. WCF学习(二)对控件简单了解以及4个文本控件的简介

    WPF基础控件 系统默认提供的基础控件: 文本控件介绍与用法 Label控件 label控件:一般用户描述性文字显示. 在Label控件使用时,一般给予用户提示.用法上没有什么很特殊的,label控件 ...

  9. wxPython中按钮、文本控件的简单运用

    本节学习图形用户界面 ------------------------ 本节介绍如何创建python程序的图形用户界面(GUI),也就是那些带有按钮和文本框的窗口.这里介绍wxPython : 下载地 ...

随机推荐

  1. Redis实战——简单介绍

    出自:https://www.cnblogs.com/moonlightL/p/7364107.html Redis简单介绍 Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能, ...

  2. 怎样获取datagrid中编辑列combobox的value值与text值

    var ed = $('#dg').datagrid('getEditor', {index:editIndex,field:'productid'}); var productname = $(ed ...

  3. Reids 批量删除有相同前缀的keys

    redis-cli 登录redis 我一般使用 redis-cli 登录redis ,但是进去后会提示" Redis (error) NOAUTH Authentication requir ...

  4. Linux实战教学笔记15:磁盘原理

    第十五节 磁盘原理 标签(空格分隔): Linux实战教学笔记 1,知识扩展 非脚本方式的一条命令搞定批量创建用户并设置随机10位字母数字组合密码. 1.1 sed的高级用法 [root@chensi ...

  5. 【LA3523 训练指南】圆桌骑士 【双连通分量】

    题意 有n个骑士经常举行圆桌会议,商讨大事.每次圆桌会议至少应有3个骑士参加,且相互憎恨的骑士不能坐在圆桌旁的相邻位置.如果发生意见分歧,则需要举手表决,因此参加会议的骑士数目必须是奇数,以防赞同和反 ...

  6. 平衡二叉树之RB树

    RB树(红黑树)并不追求“完全平衡”——它只要求部分地达到平衡要求,降低了对旋转的要求,从而提高了性能.由于它的设计,任何不平衡都会在三次旋转之内解决.典型的用途是实现关联数组(如C++中的map和s ...

  7. javascript对变量和函数的声明提前‘hoist’

    hoist vt.升起,提起; vi.被举起或抬高; n.起重机,升降机; 升起; <俚>推,托,举; 原文地址:http://www.bootcss.com/article/variab ...

  8. sql优化 原因

    不使用子查询例: SELECT * FROM t1 WHERE id (SELECT id FROM t2 WHERE name='hechunyang'); 子查询在MySQL5.5版本里,内部执行 ...

  9. QT中自定义系统托盘的实现—c++语言为例

    将要介绍的是:QT中自定义系统托盘(systemtray)的一个Demo,希望能帮需要的读者快速上手. 前提假设是诸位已经知道QT中的signals .slot以及资源文件,所以关于这些不会再累述. ...

  10. 对max_allowed_packet这个参数的误解

    之前一篇文章知识对,这个参数一个泛泛的概念,但是并没有理解这个参数的真正意义,现在差不多有那么点儿感觉了,主要的意思是每一条记录是一个包,不可拆分,而且包括blob,text等大字段.