Firebase recyclerview не показывает все предметы - PullRequest
0 голосов
/ 26 января 2019

В моем приложении у меня есть пользователи, пользователь может отправить несколько 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) {

                        }
                    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...