Я новичок в Android Firebase. У меня есть приложение, в котором я сохранил идентификаторы всех отелей в одном объекте. У меня есть только идентификаторы, поэтому на основании этих идентификаторов я хочу получить всю информацию, которая находится внутри какого-то другого объекта. То, что я пробовал до сих пор
reference=FirebaseDatabase.getInstance().getReference().child(getResources().getString(R.string.all_countries)).child(country).child(city).child("Hotel");
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
hotels=new ArrayList<>();
for (DataSnapshot dataSnapshot1:dataSnapshot.getChildren()){
String id=dataSnapshot1.getKey();
hotelIDs.add(id);
reference1=FirebaseDatabase.getInstance().getReference().child("Hotel").child(id);
reference1.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
Hotel hotel=dataSnapshot.getValue(Hotel.class);
hotels.add(hotel);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
// }
hotelsAdapter=new HotelsAdapterUser(hotels,UserViewHotels.this,"Hotel");
hotelsRV.setAdapter(hotelsAdapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.e("iamhere",databaseError.getMessage());
}
});
У меня есть все идентификаторы в списке массивов hotelID, и на основании этого, когда я пытаюсь получить данные, мой адаптер вызывает до того, как список массивов отелей настроен, что означает, что я получаюнет данных. Пожалуйста, помогите