我正在尝试构建一个简单的朋友列表,用户可以在其中创建一些朋友组,每个朋友组可以拥有很多朋友,在朋友组中,用户可以通过联系人添加新朋友(插入电话号码)一个editText)用户被添加到列表中(我使用recycleViews),每次我在firebase中的friendList组中插入一个新用户时,它都会添加到具有特定名称的组内(名称不能为组重复) )对于该用户,使用userID和value = true,这是我的firebase的表示: image'}'}指的是真的
我需要的是显示特定群组的所有用户,只要我只保护群组中的ID,我需要从该ID获取整个用户,但不仅仅是我需要获得的1个用户他们都是。
所以我这样做了:
private void prepareFriendList() {
myRef.child(id).child("FriendLists").child(group).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
currentFriends.add(snapshot.getKey());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
myRef.child(id).child("Users").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
User user = snapshot.getValue(User.class);
for(String item: currentFriends){
if (snapshot.getKey().equals(item)) {
usersList.add(user);
}
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
mAdapter.notifyDataSetChanged();
}