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,上手快,还挺灵活。

zip 文件大小:18.12MB