РЕДАКТИРОВАТЬ: РЕШЕНО ( RecyclerView показывает только один элемент из Firebase )
В настоящее время мой код может извлекать данные из Firebase и помещать их в мой ArrayList,Но проблема в том, что он может поместить только одни данные в ArrayList и передать их адаптеру представления переработчика.
Мой код для получения из firebase и заполнения данных в ArrayList
private fun getFromFirebase() {
val currentUserUID = FirebaseAuth.getInstance().uid.toString()
val ref = FirebaseDatabase.getInstance().reference
ref.child("users").child(currentUserUID).child("foods").addListenerForSingleValueEvent(object : ValueEventListener {
override fun onCancelled(p0: DatabaseError) {
}
override fun onDataChange(p0: DataSnapshot) {
setHasFixedSize(true)
recyclerview.layoutManager = LinearLayoutManager(this@FoodListActivity)
p0.children.forEach {
Log.d("getFood", it.toString())
val foodData = it.getValue(Foods::class.java)
if (foodData != null) {
val foodList = ArrayList<Foods>()
val adapter = ListAdapter(foodList)
foodList.add(foodData)
recyclerview.adapter = adapter
}
}
}
})}}
А вот и мой адаптер
class listAdapter(val food : ArrayList<Foods>) : RecyclerView.Adapter<listAdapter.ViewHolder>() {
override fun getItemCount(): Int {
return food.count()
Log.d("getFood", food.size.toString())
}
}
Проблема здесь в том, что когда я делаю Log.d ("getFood", it.toString ()), я могу получить всеэлемент из базы данных, но когда я делаю Log.d ("getFood", food.size.toString ()), я получаю только 1, а в моем recyclerView также будет отображаться только один элемент, который каждый раз оказывается вторымодин на структуру данных, «мягкий пряный» один.
Вот моя структура данных Firebase