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

标签 android search null widget kotlin

我正在尝试在菜单栏上实现“搜索小部件”。但是我收到错误:“null 无法转换为非空类型 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"

关于android - 为什么我得到 : null cannot be cast to non-null type android. widget.SearchView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46002346/

相关文章:

search - 如何根据 AEM 中的属性类型进行搜索

java - 如何防止对象在 boolean 方法中被覆盖?

ios - 一些 IBOutlet 指向 nil

android - GreenDao 按列名设置实体属性

android - 如何使用 MaterialTheme 覆盖 Jetpack Compose 中 TextField 中的文本颜色?

android - 你如何改变 eclipse 空白 Activity ?

android - 将三星安卓设备添加到eclipse

Excel:在行中搜索字符串并查找列

python - 在 python 中搜索二维数组 - 最佳方法+缩进错误

c - 如何为数组的任何未填充部分分配空字符,然后将其写入文件?