Android ApiDemo学习(四)Views——2 autocomplete

本文共6个实例。在用百度搜索时,当你输入一两个字,输入框下会自动提示一些热门的词汇。这个功能就是autocomplete。android也提供了这项功能。

  • Screen Top、Screen Bottom、Scroll

Screen Top:布局文件为autocomplete_1,可以看到有一个AutoCompleteTextView标签,这个控件就是可以显示提示词的TextView。那么这些提示词从哪里来呢?需要有个提示词的集合。使用Adapter将这个提示词集合和AutoCompleteTextView关联起来。

Screen Bottom和Scroll:这两例是为了说明:AutoCompleteTextView的提示框会自动根据控件的位置显示在控件的上方或者下方。

  • Contacts,Contacts with Hint

Contacts:本例中的提示词不再是自定义的,而是从Contacts即联系人资料中来。关于Contacts的用法,请参照Android ApiDemo学习(三)Activity(2)中的QuickContactsDemo一例。

在布局文件中,可以看到AutoCompleteTextView的一个属性copletionThreshold,这个属性的值为x,表示当用户输入了x个字符时开始给提示。

可以看到,本例和之前例的不同之处主要是在Adapter上。本例自定义了一个ContactListAdapter继承了CursorAdapter并实现接口Filterable。

Contacts with Hint:本例和上例唯一的区别是,提示列表的最下方有一小行字:Typing * will show all of your contacts。可以给用户一些提示信息。实现这个功能只需要在AutoCompleteTextView的completionHint属性中添加要提示的字符串即可。

  • Multiple items

首先看布局文件autocomplete_6.xml中,输入框不再是AutoCompleteTextView,而是MultiAutoCompleteTextView。然后是AutoComplete6.java代码中,除了为这个view设置了adapter之外,还setTokenizer。这是什么作用呢?

假设用户需要在输入框内输入国家的名称。那么当输入了a之后,提示australia、american等国家的名字。然后用户输入“,”,又输入c,这时用户希望继续看到以c开头的国家的名字。也就是说,用户输入的是一个列表,提示需要匹配这个列表的每一项。MultiAutoCompleteTextView就是完成这种功能的。setTokenizer就是设这用户输入的列表项的间隔符“,”的。

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值