Search code examples
androidkotlinsubmitsearchview

Kotlin: how to get searchView submit


I have a SearchView:

<SearchView
    android:id="@+id/searchBar"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:visibility="visible"/>

I want to add a custom action when the submit button is pressed.

This is what I have so far:

searchBar.setOnSearchClickListener {
  //do some stuff
}

All the information I found is old and not in kotlin.

How can I get trigger an action when the search icon on the keyboard is tapped?


Solution

  • Try doing this:

    override fun onCreateOptionsMenu(menu: Menu): Boolean {
        menuInflater.inflate(R.menu.main, menu)
    
        val searchItem = menu.findItem(R.id.search_city)
        searchView = searchItem.actionView as SearchView
        searchView.setQueryHint("Search View Hint")
    
        searchView.setOnQueryTextListener(object : OnQueryTextListener {
    
            override fun onQueryTextChange(newText: String): Boolean {
                return false
            }
    
            override fun onQueryTextSubmit(query: String): Boolean {
                // task HERE
                return false
            }
    
        })
    
        return true
    }
    

    Response link: Listen to keyboard event