Эта строка вызывает сбой вашего приложения
global_search = searchItem.actionView as MaterialSearchBar
Поскольку searchItem.actionView
всегда возвращает null
, а тип global_search
равен MaterialSearchBar
(ненулевой тип). Вы присваиваете null ненулевому типу, поэтому ваше приложение вылетает.
Вы можете изменить свой код на
var global_search: MaterialSearchBar? = null
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.base_nav_drawer,menu)
searchItem= menu?.findItem(R.id.srchbar_menu)!!
global_search = searchItem.actionView as MaterialSearchBar?
lastsuggestions=ArrayList<String>()
loadSuggest()
global_search.lastSuggestions=lastsuggestions
return true
}
Но представление поиска не отображается в вашем приложении, кажется, что сторонняя организация не поддерживает интеграцию в элемент меню с помощью app:actionViewClass
.
Вот обходное решение, которое вы можете попробовать.
https://github.com/mancj/MaterialSearchBar/issues/107