7

I am trying to implement the "search widget" on my Menu Bar.. But I am getting the error: "null cannot be cast to non-null type android.widget.SearchView".. I did sme attempts to solve the problem, but no result..

Could you give me some hints?

minSdkVersion 17 targetSdkVersion 26

override fun onCreateOptionsMenu(menu: Menu?): Boolean {

        menuInflater.inflate(R.menu.menu, menu)

        val searchView = menu!!.findItem(R.id.app_bar_search).actionView as SearchView
        val searchManager = getSystemService(Context.SEARCH_SERVICE) as SearchManager
        searchView.setSearchableInfo(searchManager.getSearchableInfo(componentName))
        searchView.setOnQueryTextListener(object: SearchView.OnQueryTextListener{
            override fun onQueryTextSubmit(p0: String?): Boolean {
                return false
            }

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

        })

<item
        android:id="@+id/app_bar_search"
        android:actionViewClass="android.widget.SearchView"
        android:icon="@drawable/ic_search_black_24dp"
        android:title="Search"
        app:showAsAction="always"/>
MisterNowhere
  • 605
  • 1
  • 6
  • 13

1 Answers1

12

Try replacing

android:actionViewClass="android.widget.SearchView"

with

app:actionViewClass="android.widget.SearchView"

Brian Yencho
  • 2,748
  • 1
  • 18
  • 19