相信大家一定在见过手机通讯录的一个情景就是使用在选人的时候输入文本框里的数据就能自动筛选。今天也受一网友邀请,所以还是整理了一下这块的知识点,现在与大家共享一下,有什么疑惑的可以与我交流。实现的效果如下图。
其实实现这样的效果相信大家一定对另外一个控件不陌生那就AutoCompleteTextview,看一下这个控件的源代码也许就能找到你需要的答案。这里的核心就是一个Filterable。至于Filterable的介绍和做什么用的大家就可以自行上网查找相关知识,其中有两个重要的方法
方法名 |
作用 |
protected FilterResults performFiltering(CharSequence prefix) |
在这个方法里执行过滤方法 |
protected void publishResults(CharSequence constraint, FilterResults results) |
在这个方法里发布筛选过后得到的数据同时更新Adapter更新 |
理解这点知识那么就看核心代码吧,这里就是重写BaseAdapter然后实现Filter