Kotlin: how to get searchView submit
Asked Answered
T

1

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?

Townsfolk answered 15/11, 2017 at 9:35 Comment(0)
K
30

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

Kinzer answered 15/11, 2017 at 15:40 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.