自动完成编辑框AutoCompleteTextView

自动完成编辑框的作用:一般用于搜索匹配文本框(例如淘宝搜东西),搜索时自动弹出提示词列表

AutoCompleteTextView实现原理是:EditText结合监听器TextWatcher与下拉列表Spinner,一旦监听到EditText的文本发生变化, 就自动弹出适配好的文字下拉列表,选中具体的下拉项向EditText填入相应文字

接下来就开始具体实现吧,下午煞笔了,搞了好久总是去创建布局,加入适配器中然后程序自动提示文本输入总是没效,很纳闷,直到发觉查了几篇百度的代码发觉他们的布局名字为什么会这么巧合都是一样的。。。于是我就想那个会不会是安卓系统已经内置好了的下拉框布局,于是依葫芦花样得照着它的名字打,android.R.layout.simple_dropdown_item_lline果然是内置布局,程序正常了这让入门安卓新手的我感动得是不要不要的。

上代码截图和运行结果:


自动完成编辑框AutoCompleteTextView
Mativity.java截图
自动完成编辑框AutoCompleteTextView
运行截图

现在总结一下AutoCompleteTextView和MulitAutoCompleteTextView的常用方法:

xml布局中 completetionThreshold="1"  设置监听到输入第一个字符就开始匹配提示,若不设置则默认为2字符

multiAutoCompleteTextView.setThreshold(2);    //Java类中 设置输入多少字符时自动匹配

multiAutoCompleteTextView.setAdapter(arrayAdapter);    //设置适配

multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());        // 设置分隔符

此处插播文本框设置跑马灯特效的几行xml代码:

自动完成编辑框AutoCompleteTextView
xml设置跑马灯代码

PS:此处在Activity.java文件里要加一句tv.setSelected(true);  //不设置这一行是不会滚动的。

插播一些以后可能用得到的EditText属性

自动完成编辑框AutoCompleteTextView
EditText部分属性

最后,因为刚入门,写得都是基础,如果错误请告诉改正。

上一篇:Add spacing between Chinese and English characters


下一篇:php – rabbitmq AMQP :: consume()