Firebase 根据子节点值检索父节点

时间:2021-05-20 21:48:26

标签: java android firebase firebase-realtime-database

如果匹配当前登录的用户,我正在尝试根据子节点“userID”的值检索父节点,它是组名称,如 Android11 或 Thelovers。

my database

我初始化了 arraylist 和 arrayadapter,然后使用 Query 循环遍历 datasnapashot。因此,如果按“userID”的顺序与当前用户匹配,则将父组名的值传递给数组列表“list_of_group”,但我得到空列表。您认为问题是什么?

 private void InitializeFields() {
     list_view = (ListView) GroupFragmentView.findViewById(R.id.list_view);
     arrayAdapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, list_of_groups);
     list_view.setAdapter(arrayAdapter);
 }


 private void RetriveAndDisplayGroups() {
     mAuth = FirebaseAuth.getInstance();
     currentUserID = mAuth.getCurrentUser().getUid();

     groupList = FirebaseDatabase.getInstance().getReference().child("Group Members");

     groupList.orderByChild("userID").equalTo(currentUserID)
             .addValueEventListener(new ValueEventListener() {
                 @Override
                 public void onDataChange(DataSnapshot dataSnapshot)
                 {
                     list_of_groups.clear();
                     if (dataSnapshot.exists()) {
                         for (DataSnapshot ds : dataSnapshot.getChildren())
                         {
                            String grpName = ds.getValue().toString();
                            list_of_groups.add(grpName);
                         }
                         arrayAdapter.notifyDataSetChanged();
                     }

                 }

                 @Override
                 public void onCancelled(@NonNull DatabaseError databaseError) {

                 }

                 ;
             });
 }

0 个答案:

没有答案