AutoCompleteTextView和MultiAutoCompleteTextView

AutoCompleteTextView和EditText组件类似,都可以输入文本。但AutoCompleteTextView组件可以和一个字符串数组或List对象绑定,当用户输入两个及以上字符时,系统将在AutoCompleteTextView组件下方列出字符串数组中所有以输入字符开头的字符串,这一点和www.Google.com搜索框非常相似,当输入某一个要查找的字符串时,Google搜索框就会列出以这个字符串开头的最热门的搜索字符串列表。(文/银河使者

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

  1. String[] autoString = new String[]{ "a", "ab", "abc", "bb", "bcd", "bcdf", "手机", "手机操作系统", "手机软件" };
  2. ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
  3. android.R.layout.simple_dropdown_item_1line, autoString);
  4. AutoCompleteTextView autoCompleteTextView = 
  5.         (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
  6. autoCompleteTextView.setAdapter(adapter);
复制代码

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

附件: autotextview1.png 

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

  1. MultiAutoCompleteTextView multiAutoCompleteTextView = 
  2.         (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView);
  3. multiAutoCompleteTextView.setAdapter(adapter);
  4. multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
复制代码

运行上面的代码后,在屏幕的第2个文本框中输入“ab ,  ” 后,再输入“手机”,会显示如图2所示的效果。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值