This is still unclear how to populate FirebaseRecyclerAdapter with custom query.
Define a reference. Here: DatabaseReference ref = mDatabase.getReference().child("users");
Send it to adapter initAdapter(ref);
Define query and set listener. Is it right?
mAdapter = new FirebaseRecyclerAdapter<User, UserHolder>(User.class,  R.layout.user_row_layout, UserHolder.class, ref) {
        @Override
        protected void populateViewHolder(final UserHolder viewHolder, final User model, int position) {
            Query query = ref.orderByChild("group").equalTo(uid);
            query.addChildEventListener(new ChildEventListener() {
                @Override
                public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                    viewHolder.setName(model.getName());
                    viewHolder.setStatus(getStatus(model.getStatus()));
                }
                // ...
            };
Still showing all data from users. Need just to filter based on uid. Any clues?
For those who might have tried to make things over-complicated as me, or working at night, here is solution:
mAdapter = new FirebaseRecyclerAdapter<User, UserHolder>(
               User.class,  
               R.layout.user_row_layout, 
               UserHolder.class,
               ref.orderByChild("group").equalTo(uid)
) {
    @Override
    protected void populateViewHolder(final UserHolder viewHolder, final User model, int position) {
                viewHolder.setName(model.getName());
                viewHolder.setStatus(getStatus(model.getStatus()));
            }
            // ...
        };
Chao!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With