получить продукт из одной коллекции и получить оценку продукта из другой коллекции с помощью пожарного магазина - PullRequest
0 голосов
/ 03 июля 2019

У меня есть две коллекции: 1. RetailerRegister, 2. CustomerRetailerRate.

1-й - это наборы розничных продавцов, а 2-й - это рейтинг клиентов, поэтому теперь я получаю весь список розничных продавцов, и теперь я хочу получить их рейтинг из другой коллекции, называемой CustomerRetailerRate.

Я пытался следовать коду, но все равно получаю ошибку: «java.lang.IndexOutOfBoundsException: Index: 0, Size: 0». Я думал, что это может быть проблема в моем адаптере зрения Rickler, но это не проблема. На самом деле, в коллекции «CustomerRetailerRate» есть только 2 записи, а в коллекции «RetailerRegister» 19 записей, поэтому я получаю данные о скорости из «RetailerRegister», но не получаю нулевое значение. Я также вижу это решение Нажмите здесь .

Query query = db.collection("RetailerRegister").whereEqualTo("Area", "Satellite").limit(limit);

        query.get().addOnCompleteListener(task -> {
            try {
                if (task.isSuccessful()) {

                    for (QueryDocumentSnapshot document : Objects.requireNonNull(task.getResult())) {
                        IsOffer = Boolean.valueOf(String.valueOf(document.get("IsOffer")));
                        StoreName.add(String.valueOf(document.get("RBusinessName")));

                        Query dataStoreRate = db.collection("CustomerRetailerRate").whereEqualTo("RUnicID", document.get("RUnicID"));
                        dataStoreRate.get().addOnCompleteListener(tasks -> {
                            try {
                                if (tasks.isSuccessful()) {
                                    for (QueryDocumentSnapshot documents : Objects.requireNonNull(tasks.getResult())) {
                                        Log.i(TAG, "loadNextData: " + documents.get("RatePoints"));
                                        StoreRate.add(String.valueOf(documents.get("RatePoints")));
                                    }
                                }
                            } catch (Exception ex) {
                                StoreRate.add("0.0");
                            }
                        }).addOnFailureListener(e -> {
                            StoreRate.add("0.0");
                        });


                        StoreDelivery.add(String.valueOf(document.get("Deliver In")));
                        StoreOfferAmt.add(IsOffer);
                        StoreOfferText.add(IsOffer);
                        txtStoreOfferAmt.add(String.valueOf(document.get("OfferAmt")));
                        txtStoreOfferText.add(String.valueOf(document.get("OfferContent")));
                    }
                    storeListAdapter.notifyDataSetChanged();
                    lastVisible = task.getResult().getDocuments().get(task.getResult().size() - 1);
                    Toast.makeText(getActivity(), "First Page", Toast.LENGTH_SHORT).show();
                } else {
                    Log.d(TAG, "Error getting documents: ", task.getException());

                    Toast.makeText(getActivity(), "No Grocery Store Found At Your Locations!!", Toast.LENGTH_SHORT).show();
                }
            } catch (Exception e) {
                Toast.makeText(getActivity(), "No Grocery Store Found At Your Locations!!", Toast.LENGTH_SHORT).show();
            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...