Я создал два метода, чтобы получить данные из магазина.Первый метод заключается в переборе списка атрибутов, выбранных пользователем.Другой метод - запрос данных в зависимости от выбора пользователя.После перебора каждого элемента необходимо запустить новый метод.Проблема в том, что мой список всегда пуст, даже если есть доступные данные.Вот оба метода:
private void getStores(ArrayList<String> checkedItems) {
newSeller = new ArrayList<>();
sellers = new ArrayList<>();
a = 0;
for (int i =0; i<checkedItems.size(); i++){
String checkedItem = checkedItems.get(i);
int finalA = i;
getStore(checkedItem);
}
}
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());
sellers.add(so);
Log.i(TAG, "onComplete: toa"+sellers.size());
}
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
}
}
});
}