自动完成编辑框AutoCompleteTextView-阿里云开发者社区

开发者社区> 小江同志> 正文

自动完成编辑框AutoCompleteTextView

简介: 自动完成编辑框的作用:一般用于搜索匹配文本框(例如淘宝搜东西),搜索时自动弹出提示词列表 AutoCompleteTextView实现原理是:EditText结合监听器TextWatcher与下拉列表Spinner,一旦监听到EditText的文本发生变化, 就自动弹出适配好的文字下拉列表,选中具体的下拉项向EditText填入相应文字 接下来就开始具体实现吧,下午煞笔了,搞了好久总是去创建布局,加入适配器中然后程序自动提示文本输入总是没效,很纳闷,直到发觉查了几篇百度的代码发觉他们的布局名字为什么会这么巧合都是一样的。
+关注继续查看

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

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

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

上代码截图和运行结果:


img_09759252b19c232e414cf7754bff03f3.png
Mativity.java截图
img_db12d2def04562dea97370357046e8d9.png
运行截图

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

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

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

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

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

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

img_7c4a1d0dbba858d271a6e57635f4ece1.png
xml设置跑马灯代码

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

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

img_36ec5ed3ccd7787926106c667077991b.png
EditText部分属性

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Unexpected token o in JSON at position 1 前端JSON数据包解析的问题
这是一个前后端分离项目中常见的问题,关于json数据包的解析问题
8 0
全面进入云原生时代,拥抱Kubernetes,再见了Spring Cloud
相信很多开发者在熟悉微服务工作后,才发现: 以为用 Spring Cloud 已经成功打造了微服务架构帝国,殊不知引入了 k8s 后,却和云原生的生态发展脱轨
6 0
续费任务文章
我是一名软件工程专业的学生,目前一年级。在假期的时候老师推荐我们参加阿里云的飞天加速计划领取免费的服务器,试用时间为两周。领取前我在阿里云上完成了学生认证和新手预备训练营,并且学习使用了阿里云的镜像快照等功能。
12 0
大话微服务(三):如何设计Restful API?
  API的定义取决于选择的IPC通信方式,如果是消息机制(如 AMQP 或者 STOMP),API则由消息频道(channel)和消息类型;如果是使用HTTP机制,则是基于请求/响应(调用http的url),这里我们先简述下RestfulAPI的定义。   设计原则   域名   应该尽量将API部署在专用域名之下,如:   也可以放在主域名下:   版本
6 0
【七天入门Go语言】 网络编程 | 第六天
目录 1. Socket 编程 1.1 Dial()函数 2. HTTP 编程 2.1 HTTP 客户端 2.2 HTTP 服务端 2.2.1 处理 HTTP 请求 3. RPC 编程 3.1 Go 语言中的 RPC 支持与处理 3.2 Gob 简介 3.3 设计优雅的 RPC 接口 最后
6 0
Go并不需要Java风格的GC
像Go、Julia和Rust这样的现代语言不需要像Java c#所使用的那样复杂的垃圾收集器。但这是为什么呢?
5 0
【七天入门Go语言】 文件 && 包 | 第五天
目录 1. 文件处理 1.1 JSON文件 1.1.1 已知JSON结构 1.1.2 未知JSON结构 1.1.3 Encoder & Decoder 1.2 XML文件 1.3 二进制文件 1.4 zip文件 1.4.1 创建zip 1.4.2 读取zip文件 2. 包管理 2.1 包路径 2.2 包声明 最后
6 0
【智能合约】Go语言调用智能合约 | geth
目录 1. 获取abi文件 2. 安装abigen工具 3. remix连接私有链 4. 合约部署 5. 初始化私有链节点创世块 6. 合约部署 7. 调用
8 0
如何通过Kubernetes事件来报告错误
在Kubernetes中,有Event机制,可以做到把一些事件,比如警告、错误等信息记录下来
5 0
+关注
小江同志
爱编程、爱生活
21
文章
10
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载