2017-09-01 3 views
0

J'essaye d'implémenter le "widget de recherche" sur ma barre de menu .. Mais j'obtiens l'erreur: "null ne peut pas être moulé au type non-nul android.widget.SearchView" .. J'ai fait sme essaye de résoudre le problème, mais aucun résultat ..Pourquoi est-ce que je reçois: null ne peut pas être converti en type non-nul android.widget.SearchView?

Pourriez-vous me donner quelques conseils?

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

Je suppose que 'findItem' peut renvoyer un élément nul. – egoldx

Répondre

2

Essayer le remplacement

android:actionViewClass="android.widget.SearchView"

avec

app:actionViewClass="android.widget.SearchView"