Как я могу создать разные объекты класса, ссылающиеся на один и тот же класс для каждого индекса списка строк? Я пытался показать совпадения пользователю, используя useradapter и recyclerview, однако я показываю только последнее совпадение, которое является последним индексом моего списка совпадений. Я думаю, что проблема связана с моим объектом класса User, который вы можете увидеть ниже;
readref.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
DocumentSnapshot snapshot = task.getResult();
if (snapshot.exists()) {
List<String> matchedid = new ArrayList<>();
matchedid = (List<String>) snapshot.get("matchlist");
for (int i = 0; i < matchedid.size(); i++) {
User user = new User();
if (!matchedid.get(i).equals("default")) {
DocumentReference readref2 = usersfragmentstore.collection("users").document(matchedid.get(i));
readref2.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task2) {
DocumentSnapshot readsnap2 = task2.getResult();
if (readsnap2.exists()) {
user.setId(readref2.getId());
user.setImageURL(readsnap2.getString("imageURL"));
user.setName(readsnap2.getString("name"));
mUsers.add(user);
usersAdapter = new UsersAdapter(getContext(), mUsers, false);
recyclerView.setAdapter(usersAdapter);
}
}
});
}
}
}
}
});
Это моя структура базы данных firebase;
[[1]: https://i.stack.imgur.com/0lOP7.jpg][1]
Если я ошибаюсь, пожалуйста, помогите мне с проблемой, которую я не могу распознать.