recyclerview с gridview повторяет элементы дважды с другим номером индекса - PullRequest
0 голосов
/ 18 июня 2020

У меня есть функция извлечения, которая получает данные из базы данных firebase и следующий код:

FirebaseFirestore.getInstance().collection("products")
            .get()
            .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {
                    if (task.isSuccessful()){
                        for (int i=0; i<task.getResult().size(); i++){
                            Products p = new Products();
                            String Userid = task.getResult().getDocuments().get(i).getData().get("UserID").toString();
                            Log.d(TAG, "onComplete: "+Userid);

                            if (Userid.equals(FirebaseAuth.getInstance().getCurrentUser().getUid())){
                                String price = task.getResult().getDocuments().get(i).getData().get("productPrice").toString();
                                String Image = task.getResult().getDocuments().get(i).getData().get("UrlImage0").toString();
                                String title = task.getResult().getDocuments().get(i).getData().get("productName").toString();
                                // add all these data to the product  class
                                Log.d(TAG, "onComplete: "+price+ title+Image);
                                p.setTitle(title);
                                p.setPrice(price);
                                p.setProductImage(Image);
                                viewProduct.onSuccess(p);
                            }



                            viewProduct.onSuccess(p);
                        }

                    }else {
                        viewProduct.onError("Something went wrong");
                    }
                }
            });

и моя загрузка данных в recyclerview с gridview и следующим кодом:

ListDataView.setLayoutManager(new GridLayoutManager(this, 2));
    ListDataView.setHasFixedSize(true);
    ListOutDateAdapter = new productAdapter(this, OutDateTrip);
    ListDataView.setAdapter(ListOutDateAdapter);
  //  ListDataView.invalidate();
    ListDataView.setHasFixedSize(true);
    ListDataView.addItemDecoration(new DividerItemDecoration(ListDataView.getContext(), DividerItemDecoration.VERTICAL));

Проблема * Он продолжает загружать данные, как показано на изображении * enter image description here

Я уже проверял следующий пост, но этого не произошло решить мою проблему введите описание ссылки здесь

1 Ответ

0 голосов
/ 18 июня 2020

Я просматривал код снова и снова, проблема. Мне нужно дважды добавлять элементы в список продуктов, поэтому я удалил один, и все в порядке;

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