У меня очень странная проблема.У меня есть два метода, где я анализирую данные в зависимости от выбранных пользователем значений.В моем втором методе я анализирую эти данные.Метод 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());
}
}
});
}