Вы просматриваете узлы верхнего уровня в своей базе данных (Food
, Requests
и т. Д.), А затем получаете Requests
дочерний узел каждого из них.Так как /Requests/Requests
не всегда будет null
.
Это должно быть ближе:
override fun onDataChange(snapshot: DataSnapshot) {
var modelRequest: Request? = snapshot.child("Requests").child(user.toString()).getValue(Request::class.java)
var ord: Order? =snapshot.child("Orders").getValue(Order::class.java)
Log.d("loadedList", "ok")
requestList.add(modelRequest!!)
}
Обратите внимание, что теперь вы загружаете все данные из базы данных, чтобытогда используйте только узлы Requests
и Orders
.Это бесполезная трата пропускной способности, поэтому вам действительно нужно запрашивать только те данные, которые вам нужны.Вы можете сделать это, подключив двух слушателей и ожидая результатов обоих.