I am trying to retrieve the data from RealTime database to RecyclerView using java in android studio. I want to get all the users who following the current user in the my App. I want to get the child which is after the Following node directly and when current user id equals to (to)
this picture for the tree that shows Following node Tree:
"Following": {         
   "4vwxBbUkdhOIPsMxRB8FuJJ8Ccs1" : {         
      "Fd3MXjbkTefGrLDjGeoPg20wME72" : {          
        "date" : "٢٠-فبراير-٢٠٢١",         
          "from" : "4vwxBbUkdhOIPsMxRB8FuJJ8Ccs1",        
          "to" : "Fd3MXjbkTefGrLDjGeoPg20wME72"         
        },        
        "zz0u4R7ygYajOvm1ybZY44ygCOj2" : {         
          "date" : "٢٠-فبراير-٢٠٢١",          
          "from" : "4vwxBbUkdhOIPsMxRB8FuJJ8Ccs1",        
          "to" : "zz0u4R7ygYajOvm1ybZY44ygCOj2"         
        }            
    }            
  }
I mean.. I want to get this child 4vwxBbUkdhOIPsMxRB8FuJJ8Ccs1 when the current user equals to the value of (to) and this my code for retrieve the data to RecyclerView:
private  void initialize()
{
    firebaseAuth= FirebaseAuth.getInstance();
    currentUserId=firebaseAuth.getCurrentUser().getUid();
    followerReference= FirebaseDatabase.getInstance().getReference().child("Following");
    userReference= FirebaseDatabase.getInstance().getReference().child("Users");
    follower_recycler=root.findViewById(R.id.follower_recycler);
    follower_recycler.setHasFixedSize(true);
    LinearLayoutManager linearLayoutManager=new LinearLayoutManager(getActivity());
    linearLayoutManager.setReverseLayout(true);
    linearLayoutManager.setStackFromEnd(true);
    follower_recycler.setLayoutManager(linearLayoutManager);
}
 private void displayFollowers()
{
  Query myFollowers=followerReference.orderByChild("to").equalTo(currentUserId);
    FirebaseRecyclerOptions<Following> options=
            new FirebaseRecyclerOptions.Builder<Following>()
                    .setQuery(myFollowers,Following.class)
                    .build();
    FirebaseRecyclerAdapter<Following, FollowingViewHolder> firebaseRecyclerAdapter=
            new FirebaseRecyclerAdapter<Following, FollowingViewHolder>(options) {
                @Override
                protected void onBindViewHolder(@NonNull FollowingViewHolder holder, int position, @NonNull Following model) {
                  final   String  usersId=getRef(position).getKey();
                    userReference.child(usersId).addValueEventListener(new ValueEventListener() {
                        @Override
                        public void onDataChange(@NonNull DataSnapshot snapshot) {
                            if(snapshot.exists())
                            {
                                final String userName=snapshot.child("userName").getValue().toString();
                                holder.setUserName(userName);
                                if(snapshot.hasChild("ProfileImage"))
                                {
                                    final String profileUser=snapshot.child("ProfileImage").getValue().toString();
                                    holder.setProfileImage(getActivity(),profileUser);
                                }
                            }
                        }
                        @Override
                        public void onCancelled(@NonNull DatabaseError error) {
                        }
                    });
                }
                @NonNull
                @Override
                public FollowingViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                    View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.users_design,parent,false);
                    FollowingViewHolder viewHolder=new FollowingViewHolder(view);
                    return  viewHolder;
                }
            };
    firebaseRecyclerAdapter.startListening();
    follower_recycler.setAdapter(firebaseRecyclerAdapter);
}
and this is my Following class:
public class Following {
    private String date,from,to;
    public Following() {
    }
    public Following(String date,String from,String to) {
        this.date = date;
        this.from=from;
        this.to=to;
    }
    public String getTo() {
        return to;
    }
    public void setTo(String to) {
        this.to = to;
    }
    public String getFrom() {
        return from;
    }
    public void setFrom(String from) {
        this.from = from;
    }
    public String getDate() {
        return date;
    }
    public void setDate(String date) {
        this.date = date;
    }
}
Finally that is the FollowingViewHolder class:
public class FollowingViewHolder extends RecyclerView.ViewHolder {
    public View mView;
    /*some attributes*/
    public FollowingViewHolder(@NonNull View itemView) {
        super(itemView);
        mView=itemView;
       /*initialization for attributes */
    }
    public void setDate(String date)
    {
       /* set data in TextView ..*/
    }
    public void setUserName(String userName){
        /* set data in TextView ..*/
    }
    public void setProfileImage(Context ctx, String profileImage){
        /* set data in circleImage ..*/
    }
}
I Hope you understood my question and get an answer for me:)
 
    