Java 为列表的每个索引引用相同类的不同类对象
如何为字符串列表的每个索引创建引用相同类的不同类对象?我一直试图使用useradapter和recyclerview向用户显示匹配项,但是,我只显示最后一个匹配项,这是我匹配列表的最后一个索引。我认为问题在于我的用户类对象,您可以在下面看到Java 为列表的每个索引引用相同类的不同类对象,java,firebase,google-cloud-firestore,Java,Firebase,Google Cloud Firestore,如何为字符串列表的每个索引创建引用相同类的不同类对象?我一直试图使用useradapter和recyclerview向用户显示匹配项,但是,我只显示最后一个匹配项,这是我匹配列表的最后一个索引。我认为问题在于我的用户类对象,您可以在下面看到 readref.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() { @Override public void onCo
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);
}
}
});
}
}
}
}
});
readref.get().addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
DocumentSnapshot snapshot=task.getResult();
if(snapshot.exists()){
List matchedid=new ArrayList();
matchedid=(List)snapshot.get(“matchlist”);
对于(int i=0;i
这是我的firebase数据库结构
[1]:
如果我错了,请帮助我解决我无法识别的问题。请将您的数据库结构添加为屏幕截图,并指出您想要获取的确切数据。我已添加了我的数据库结构,但如果您无法获取,请让我解释。我使用firebase firestore数据库,因此其结构是JSON树。我有一个名为“匹配列表”包括索引的用户id,请添加更详细的用户id,并指明您想要获取的确切数据。