随笔 - 312, 文章 - 14, 评论 - 1393, 引用 - 0
数据加载中……

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

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

    AutoCompleteTextViewEditText组件类似,都可以输入文本。但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开发完全讲义(第2版)(本书版权已输出到台湾)

http://product.dangdang.com/product.aspx?product_id=22741502



Android高薪之路:Android程序员面试宝典 http://book.360buy.com/10970314.html


新浪微博:http://t.sina.com.cn/androidguy   昵称:李宁_Lining

posted on 2010-04-21 14:53 银河使者 阅读(2786) 评论(0)  编辑  收藏 所属分类: java 原创移动(mobile)


只有注册用户登录后才能发表评论。


网站导航: