У меня есть базовая активность навигационного ящика.Затем у меня есть список активности, который расширяется от активности навигационного ящика, поэтому навигационный ящик также отображается в этом (списке) действии.В базовой активности рисования навигационной панели (внутри панели инструментов) я разработал панель поиска
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
<com.mancj.materialsearchbar.MaterialSearchBar
android:id="@+id/srchbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"></com.mancj.materialsearchbar.MaterialSearchBar>
</android.support.v7.widget.Toolbar>
Я объявил эту панель инструментов в активности родительской навигационной панели, biut инициализировал ее в активности дочернего списка
searchBar=findViewById(R.id.foodlist_srchbar)
Этот поискпанель должна загружать последние предложения и выполнять поиск, когда текст вводится в текстовое поле, и загружать представление списка с результатами, когда поиск подтвержден
searchBar.setOnSearchActionListener(object : MaterialSearchBar.OnSearchActionListener{
override fun onButtonClicked(buttonCode: Int) {
}
override fun onSearchStateChanged(enabled: Boolean) {
//When searchBar is closed , restore original adapter
if (!enabled){
recycler_food.adapter=adapter
}
}
override fun onSearchConfirmed(text: CharSequence?) {
// When search is finished , show adapter with results
startSSearch(text)
}
})
Метод StartSSearch имеет значение
private fun startSSearch(text: CharSequence?) {
searchadapter=object : FirebaseRecyclerAdapter<Food, FoodViewHolder>
(
Food::class.java,
R.layout.food_item,
FoodViewHolder::class.java,
database_food.orderByChild("Name").equalTo(text.toString())
){
override fun populateViewHolder(viewHolder: FoodViewHolder?, model: Food?, position: Int) {
viewHolder!!.foodName.setText(model!!.Name)
Picasso.with(baseContext).load(model.Image).into(viewHolder.foodImage)
viewHolder.itemView.setOnClickListener(object : View.OnClickListener {
override fun onClick(v: View?) {
val foodDeatail = Intent(this@FoodList, FoodDetailActivity::class.java)
foodDeatail.putExtra("FoodId", searchadapter.getRef(position).key)
startActivity(foodDeatail)
}
})
}
Так чтовсе работает, как правило, не в сложных ситуациях, но в моей текущей ситуации (я объявил этот инструмент поиска в родительской активности nav и ввел его в дочернюю активность и записал методы для этого инструмента в дочерней активности), он не работает, он не отображает результаты поиска, можете ли вы помочья?