android recyclerview search filter example kotlin
private fun performSearch() { binding.searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener { override fun onQueryTextSubmit(query: String?): Boolean { search(query) return true } override fun onQueryTextChange(newText: String?): Boolean { search(newText) return true } }) } private fun search(text: String?) { matchedPeople = arrayListOf() text?.let { people.forEach { person -> if (person.songName.contains(text, true) || person.time.toString().contains(text, true) ) { matchedPeople.add(person) updateRecyclerView() } } if (matchedPeople.isEmpty()) { Toast.makeText(this, "No match found!", Toast.LENGTH_SHORT).show() } updateRecyclerView() } } private fun updateRecyclerView() { binding.recyclerView.apply { personAdapter.list = matchedPeople personAdapter.notifyDataSetChanged() } }