AutoCompleteTextView智能搜索提示框
弹出建议的搜索框挺常见的,用起来顺手还能让用户少打点字。Android 的 AutoCompleteTextView 就是专门干这个的,你只要给它塞个数据源,它就能根据用户输入弹出匹配建议。配上 ArrayAdapter
基本就能跑起来了,代码也简单,响应也快。
先在 activity_main.xml
里声明 AutoCompleteTextView
,像普通的 EditText
一样设置宽高、提示语。准备一个数组或者 ArrayList
,存点的关键词,比如常见的城市名、联系人或者历史搜索记录。
接下来就是老三样:ArrayAdapter
来转换数据、setAdapter()
绑定数据源,配上监听器比如 setOnItemClickListener()
就能拿到用户点了哪个建议。要是想实现更智能的提示,还可以加个 TextWatcher
做实时更新。
数据多了怎么办?可以用 CursorAdapter
连上数据库,边输边查;或者用异步加载,别卡住主线程。还可以改改样式,比如 android:completionThreshold
设置几个字之后才弹提示,或者自定义下拉菜单的背景和动画,体验也能提升不少。
顺带提醒下,build.gradle
里要确保引了 AndroidX
的库,项目能正常跑起来。代码主要放在 MainActivity.java
,布局在 activity_main.xml
,建议项文本可以写在 strings.xml
里,方便后期改动。
,这种智能提示的搜索框挺实用的,适合需要快速输入定位的功能场景,比如联系人搜索、地址输入啥的。如果你也正好有类似需求,不妨试试 AutoCompleteTextView,上手快,还挺灵活。
18.12MB
文件大小:
评论区