В моем приложении у меня есть пользователи, пользователь может отправить несколько buy_request для одного и того же предложения (одного и того же пользователя). Так что я создаю эту структуру в базе данных Firebase, и мой код ищет в pushed_ID, где get Request_type = "receive" отображает пользователяИнформация, когда я хочу отобразить эти элементы, я получаю только элементы дочерних элементов, а не элементы дочерних элементов для ex (Пользователь A получает запрос от B Дважды (2 раза) и один раз от формы C и от D 2 раза)обычно количество отображаемых элементов равно 5, но у меня есть только 3 и все эти элементы с информацией о последнем элементе в базе данных firebase
введите описание изображения здесь
enter code here FirebaseRecyclerOptions<BuyRequest> options = new FirebaseRecyclerOptions.Builder<BuyRequest>()
.setQuery(mBuyRequast.child(currentUser.getUid()).getRef(),BuyRequest.class).build();
final FirebaseRecyclerAdapter<BuyRequest,RequastViewHolder> adapter =
new FirebaseRecyclerAdapter<BuyRequest, RequastViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull final RequastViewHolder holder, int position, @NonNull BuyRequest model) {
listUsersID = getRef(position).getKey();
DatabaseReference getTypeRef = getRef(position).child("Request_type").getRef();
mBuyRequast.child(currentUser.getUid()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
postSnapshot.getKey();
for (DataSnapshot sender: postSnapshot.getChildren()) {
if(dataSnapshot.child( postSnapshot.getKey()).child(sender.getKey()).hasChild("Request_type")){
QuantityRequest =dataSnapshot.child( postSnapshot.getKey()).child(sender.getKey()).child("QuantityRequest").getValue().toString();
String type = dataSnapshot.child( postSnapshot.getKey()).child(sender.getKey()).child("Request_type").getValue().toString();
if (type.equals("received")){
mUsersRef.child(postSnapshot.getKey()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
holder.userNameNotify.setText(dataSnapshot.child("UserName").getValue().toString());
holder.resarvationQuantity.setText(QuantityRequest);
Picasso.get().load(dataSnapshot.child("Img").getValue().toString()).into(holder.profilImgInNotification);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});