2017-09-01 92 views
0

我試圖在我的菜單欄上實現「搜索小部件」..但我得到的錯誤:「null不能轉換爲非空類型android.widget.SearchView」..我做了嘗試解決問題,但沒有結果..爲什麼我會得到:null不能轉換爲非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"/>

+0

我猜'findItem'可能會返回空項目。 – egoldx

回答

2

嘗試用替換

android:actionViewClass="android.widget.SearchView"

app:actionViewClass="android.widget.SearchView"

相關問題