Fragment replacement triggers onQueryTextChange on searchview

前端 未结 7 841
臣服心动
臣服心动 2021-01-07 17:54

This is how I navigate through my app:

  • Open fragment with list
  • Filter list by a text entered in searchview
  • Tap on listitem (list fragment get
7条回答
  •  梦谈多话
    2021-01-07 18:35

    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
        }
    })
    

提交回复
热议问题