您的位置:首页 > 移动开发 > Android开发

Android组件系列(1):自动完成输入内容的组件(AutoCompleteTextView )

2010-04-21 14:16 633 查看

[b][b][b][b][b][b][b]本文为原创,如需转载,请注明作者和出处,谢谢!
[/b]
[/b]
[/b]
[/b]
[/b]
[/b]
[/b]

AutoCompleteTextView

EditText
组件类似,都可以输入文本。但
AutoCompleteTextView
组件可以和一个字符串数组或
List
对象绑定,当用户输入两个及以上字符时,系统将在
AutoCompleteTextView

件下方列出字符串数组中所有以输入字符开头的字符串,这一点和
www.Google.com
的搜索框非常相似,当输入某一个要查找的字符串时,
Google
搜索框就会列出以这个字符串开头
的最热门的搜索字符串列表。

AutoCompleteTextView
组件在
XML
布局文件中使用
<AutoCompleteTextView>
标签来表示,该标签的使用方法与
<EditText>
标签相同。如果要让
AutoCompleteTextView
组件显示辅助输入列表,需要使用
AutoCompleteTextView
类的
setAdapter
方法指定一个
Adapter
对象,代码如下:

String[] autoString
=

new
String[]{
"
a
"
,
"
ab
"
,
"
abc
"
,
"
bb
"
,
"
bcd
"
,
"
bcdf
"
,
"


"
,
"
手机操作系统
"
,
"

机软件
"
};

ArrayAdapter
<
String
>
adapter
=

new
ArrayAdapter
<
String
>
(
this
,

android.R.layout.simple_dropdown_item_1line, autoString);

AutoCompleteTextView autoCompleteTextView
=


(AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);

autoCompleteTextView.setAdapter(adapter);



运行上面代码后,在文本框中输入“手机”,
就会显示如图
1

示的效果。



除了
AutoCompleteTextView

件外,我们还可以使用
MultiAutoCompleteTextView
组件来完成连续输入的功能。也就是说,当输入完一个字符串后,在该字符串后面输入一个逗号(
,
),在逗号前后可以有任意多个空格,然后
再输入一个字符串(例如,“手机”),仍然会显示辅助输入的列表,但要使用
MultiAutoCompleteTextView
类的
setTokenizer
方法指定
MultiAutoCompleteTextView.CommaTokenizer
类的对象实例(该对象表示输入多个字符串时的分隔符为逗号),代码如下:

MultiAutoCompleteTextView multiAutoCompleteTextView
=


(MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView);

multiAutoCompleteTextView.setAdapter(adapter);

multiAutoCompleteTextView.setTokenizer(
new
MultiAutoCompleteTextView.CommaTokenizer());





运行上面的代码后,在屏幕的第
2
个文本框中输入“
ab ,


后,再输入“手机”,会显示如图
2
所示的效果。



2 U' i1 B1 Y9 ?+ m p4 /1 x/ x





新浪微博手机客户端(Android/Ophone版)

发布

《银 河系列原创教程》
发布

《Java Web开发速学宝典》
出版, 欢迎定购
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐