Question: I'm using a search view in my application. Now i just want to get the text typed in the SearchView text box and display it on another textview. If i typed the text and click a button i can do the same. But i don't want to use any extra buttons. I just want to display the result when i am pressing enter key.

Answer: 
The right way to solve this is to use **setOnQueryTextListener** 

This is a small exmple using Kotlin:

```
txtSearch = rootView.searchView 
txtSearch.setOnQueryTextListener(object : SearchView.OnQueryTextListener {

        override fun onQueryTextChange(newText: String): Boolean {
            return false
        }

        override fun onQueryTextSubmit(query: String): Boolean {
            return false
        }
 })

```
with extension functions, create `SearchViewExtensions.kt`

```
import android.view.View
import androidx.appcompat.widget.SearchView

inline fun SearchView.onQueryTextChanged(crossinline listener: (String) -> Unit) {
    this.setOnQueryTextListener(object: SearchView.OnQueryTextListener {
        override fun onQueryTextSubmit(query: String?): Boolean {
            return true
        }

        override fun onQueryTextChange(newText: String?): Boolean {
            listener(newText.orEmpty())
            return true
        }
    })
}

```

and the ***magic*** in your fragment

```
mSearchView.onQueryTextChanged { query: String ->
     // do whatever
}

```