Skip to content

Instantly share code, notes, and snippets.

@AmaroNeto
Last active March 15, 2020 18:18
Show Gist options
  • Save AmaroNeto/56416a4236239a1b8d4477504455a3d5 to your computer and use it in GitHub Desktop.
Save AmaroNeto/56416a4236239a1b8d4477504455a3d5 to your computer and use it in GitHub Desktop.
Filter
override fun getFilter(): Filter {
return object : Filter() {
override fun performFiltering(constraint: CharSequence?): FilterResults {
val charString = constraint.toString()
var searchResult: List<T> = listOf()
if(charString.isEmpty()) {
searchResult = mList
} else {
val filteredList = ArrayList<T>()
mList.forEach {row ->
if (row.isFilterable(charString.toLowerCase())) {
filteredList.add(row)
}
}
searchResult = filteredList
}
val filterResults = FilterResults()
filterResults.values = searchResult
return filterResults
}
override fun publishResults(constraint: CharSequence?, results: FilterResults?) {
searchList = results?.values as ArrayList<T>
notifyDataSetChanged()
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment