为什么我会得到: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"
我正在尝试在我的菜单栏上实现 "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"