为什么我会得到:null cannot be cast to non-null type android.widget.SearchView ?

Why do I get: null cannot be cast to non-null type android.widget.SearchView ?

我正在尝试在我的菜单栏上实现 "search widget"。但是我得到了错误:"null cannot be cast to non-null type android.widget.SearchView"。我做了一些尝试来解决这个问题,但没有结果。

你能给我一些提示吗?

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"/>

尝试替换

android:actionViewClass="android.widget.SearchView"

app:actionViewClass="android.widget.SearchView"