9

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?

finnmglas
  • 1,047
  • 3
  • 14
  • 28
Bozzo
  • 289
  • 1
  • 3
  • 13

1 Answers1

28

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

Benjamin
  • 5,952
  • 3
  • 33
  • 57
Maurice
  • 1,709
  • 2
  • 20
  • 31