This is how I navigate through my app:
Using androidx.appcompat.widget.SearchView + LiveData + ViewModel :
searchView.setOnQueryTextListener(object: SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String?): Boolean {
viewModel.setSearchQuery(query)
return true
}
override fun onQueryTextChange(newText: String?): Boolean {
if(searchView.isIconified || !isVisible) {
// Don't call setSearchQuery when SearchView is collapsing/collapsed
return true
}
viewModel.setSearchQuery(newText)
return true
}
})