Android Firestore db每隔第二秒返回准确的值

时间:2019-01-22 21:42:31

标签: android google-cloud-firestore

我有一个真正的奇怪问题。我有两种方法可以根据用户选择的值解析数据。在我的第二种方法中,我解析那些数据。 seccond方法始终返回正确的值,但在我的第一种方法中,仅每秒钟一次便获得此值。我找不到问题。我从以前的方法中获得的列表也是正确的,因此我也获得了所有值。 这是我的代码:

      mBuilder.setPositiveButton("Suche", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int which) {
                ArrayList<String> selectedCategories = new ArrayList<>();

                for (int i = 0; i < mUserItems.size(); i++) {

                    selectedCategories.add(listItems[mUserItems.get(i)]);


                }
              //  selectedCategories.add("asdf");
            getStores(selectedCategories);
            }
        });

     private void getStores(ArrayList<String> checkedItems) {

        for (int i =0; i<checkedItems.size(); i++){
        String checkedItem = checkedItems.get(i);
        getStore(checkedItem);
    }
    getDistanceToUser(sellers2);
}

    private void getStore(String checkedItem) {
        db.collection("Seller")
                .whereEqualTo("typ", checkedItem)
                .get()
                .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                    @Override
                    public void onComplete(@NonNull Task<QuerySnapshot> task) {
                        if (task.isSuccessful()) {
                            for (QueryDocumentSnapshot document : task.getResult()) {
                                SellerObject so = document.toObject(SellerObject.class);
                                so.setId(document.getId());
                                sellers2.add(so);

                                Log.i(TAG, "onComplete: toa"+sellers.size());
                            }



                        } else {
                            Log.d(TAG, "Error getting documents: ", task.getException());
                        }
                    }
                });
    }

0 个答案:

没有答案