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

Android之AutoCompleteTextView自动匹配(笔记)

2015-09-09 16:02 483 查看
我们在用百度进行google的时候,只要我们input the key word,它就会自动给我们进行一些相关的匹配,like this:​ 



​那么在Android里我们可以通过AutoCompleteTextView来进行实现。
<AutoCompleteTextView
android:completionThreshold="3"
​android:layout_width="match_parent"
​android:layout_height="wrap_content"
​android:hint="input here"
​android:id="@+id/autoCompleteTextView"
​/>​


控件比较简单,要注意的是属性CompletionThreshold,代表的是当输入第几个字符时开始进行匹配操作。

接下来回到我们的Activity里,因为是要做匹配的,所以需要有一些东西给它进行匹配,那么就可以简单的做一个字符串数组出来。
private String[] res = {"beijing1" , "beijing2" ,"beijing3" , "shanghai1"};


然后再通过适配器把我们的TextView和字符串数组连接起来:
ArrayAdapter adapter = new ArrayAdapter(this , android.R.layout.simple_list_item_1 ,res );

acTextView.setAdapter(adapter);​


这样就ok了。

接下来要说一个与AutoCompleteTextView很接近的,叫MultiAutoCompleteTextView,它有一个特性就是可以通过我们设定的一个分隔符,以达到查找多个关键词的效果。也就是说上面的那个AutoCompleteTextView只能实现匹配一个关键词,一般是用于简单搜索方面。而MultiAutoCompleteTextView实现的是像我们在发邮件,发信息的时候,需要发给多个人的情况下用的。
<MultiAutoCompleteTextView
​android:layout_width="match_parent"
​android:layout_height="wrap_content"
android:hint="input here"
​android:id="@+id/multiAutoCompleteTextView"
/>​


这个没什么特别的。
macTextView=(MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView);

macTextView.setAdapter(adapter);

macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());​


这个也跟上面的没什么区别,主要是最后一句,这个表示我们用的分隔符是Comma,逗号的意思。

​That is it.

参考:慕课网:Android攻城狮的第二门课。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: