web-dev-qa-db-fra.com

Kotlin, comment obtenir une rechercheVoir soumettre

Je recherche

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

Je souhaite ajouter une action personnalisée lorsque vous appuyez sur le bouton Soumettre.

Mais tout ce que je peux obtenir c'est

searchBar.setOnSearchClickListener {
  //do some stuff
}

Toutes les informations que j'ai trouvées sont anciennes et ne proviennent pas de kotlin lang.

Comment puis-je obtenir un déclencheur d'action lorsque l'icône de recherche sur le clavier est enregistrée?

6
Bozzo

Essayez de faire ceci:

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
}

Lien de réponse: Écoutez l'événement clavier

19
Maurice