Android之AutoCompleteTextView自动匹配(笔记)
2015-09-09 16:02
483 查看
我们在用百度进行google的时候,只要我们input the key word,它就会自动给我们进行一些相关的匹配,like this:
那么在Android里我们可以通过AutoCompleteTextView来进行实现。
控件比较简单,要注意的是属性CompletionThreshold,代表的是当输入第几个字符时开始进行匹配操作。
接下来回到我们的Activity里,因为是要做匹配的,所以需要有一些东西给它进行匹配,那么就可以简单的做一个字符串数组出来。
然后再通过适配器把我们的TextView和字符串数组连接起来:
这样就ok了。
接下来要说一个与AutoCompleteTextView很接近的,叫MultiAutoCompleteTextView,它有一个特性就是可以通过我们设定的一个分隔符,以达到查找多个关键词的效果。也就是说上面的那个AutoCompleteTextView只能实现匹配一个关键词,一般是用于简单搜索方面。而MultiAutoCompleteTextView实现的是像我们在发邮件,发信息的时候,需要发给多个人的情况下用的。
这个没什么特别的。
这个也跟上面的没什么区别,主要是最后一句,这个表示我们用的分隔符是Comma,逗号的意思。
That is it.
参考:慕课网:Android攻城狮的第二门课。
那么在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攻城狮的第二门课。
相关文章推荐
- 一个简单的Android木马病毒的分析
- Android之TextView实现跑马灯的效果(笔记)
- Your content must have a ListView whose id attribute is 'android.R.id.list'z
- android.content.res.Resources$NotFoundException: String resource ID #0x1
- Android_向通知栏发送通知
- 【Android学习】实现listview反序
- Android之TextUtils类介绍
- 在android中配置 slf4j + log4j 日志记录框架
- Android 中实现全屏,无标题栏的两种方法
- Android之监测database的改变--notifyChange
- android Intent的FLAG_ACTIVITY_CLEAR_TOP跟FLAG_ACTIVITY_REORDER_TO_FRONT
- android:scaleType属性详解
- Android SurfaceView 实现Gif动画
- android两种签名
- 使用android camera调用自带的Intent时遇到的问题
- Android 稀奇古怪的问题
- Android sdk如何设置?
- android 数据存取——SharedPreferences
- Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)
- Android手机识别相关