我有一个真正的奇怪问题。我有两种方法可以根据用户选择的值解析数据。在我的第二种方法中,我解析那些数据。 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());
}
}
});
}