题目有点不太好理解,直接上效果图:
红色背景是PopupWindow,其中的输入框是AutoCompleteTextView
AutoCompleteTextView自定义adapter,实现Filterable接口过滤数据:
override fun getFilter(): Filter {
return object : Filter() {
override fun performFiltering(constraint: CharSequence?): FilterResults {
val results = FilterResults()
val filterLists = datas.filter {
//是否包含输入字符
!constraint.isNullOrBlank() && it.contains(constraint)
}
results.count = filterLists.size
results.values = filterLists
return results
}
override fun publishResults(constraint: CharSequence?, results: FilterResults) {
filterLists.clear()
filterLists.addAll(results.values as MutableList<String>)
notifyDataSetChanged()
}
}
}