您的位置:首页 > 其它

AutoCompleteTextView 和 MultiAutoCompleteTextView 自动完成文本控件

2015-02-27 21:18 701 查看

概述

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



在Android中也有自动完成文本,这就是AutoCompleteTextVeiw和MultiAutoCompleteTextView 。

AutoCompleteTextVeiw支持基本的自动完成功能,适用在各种搜索功能中,并且可以根据自己的需求设置他的默认显示数据

AutoCompleteTextVeiw和(自动完成文本框)从 EditText派生而来,MultiAutoCompleteTextView 从AutoCompleteTextVeiw派生而来,

MultiAutoCompleteTextView 允许输入多个提示项,多个提示项以分隔符分隔,多用于发送邮件和短信。

AutoCompleteTextView除了可使用EditText提供的XMl属性和方法之外,还支持如下常用的XML属性和方法

android:completionHintsetCompletionHint(CharSequence)设置下拉菜单中的提示标题
android:completionHintView设置下拉菜单中提示标题的视图
android:completionThresholdsetThreshold(int)设置用户至少输入几个字符才会显示提示
adnroid:dropDownAnchorsetDropDownAnchor(int)设置下拉菜单的定位“锚点”组件,如果没有指定该属性,

将使用该TextView本身作为定位”

adnroid:dropDownHeightsetDropDownHeight(int)设置下拉菜单的高度
android:dropDownHorizontalOffest设置下拉菜单与文本框之间的水平偏移,下拉菜单默认与文本框左对齐
adnroid:dropDownVerticalOffest设置下拉菜单与文本框之间的垂直偏移,下拉菜单默认紧跟文本框
android:dropDownWidthsetDropDownWidth(int)设置下拉菜单的宽度
android:popupBackgroundsetDropDownBackgroundResource(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());

}
}


运行效果:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐