Как получить вложенные дочерние данные по значению из базы данных Firebase и отобразить их с помощью CardView и RecycleView? - PullRequest
0 голосов
/ 23 февраля 2020

Я хочу отобразить все данные этого заказа по значению. По в recycleview я не знаю, как решить эту проблему. В приведенном ниже коде шоу я хочу отобразить все данные для ребенка ("tutorName"), который зовут "Джозеф". Кто-нибудь, помогите мне, пожалуйста .....

My Database

Это занятие:

public void onStart() {

    super.onStart();

private DatabaseReference TimeSlotsRef = FirebaseDatabase.getInstance().getReference()
                .child("Time Slots").child(Prevalent.currentOnlineUser.getUserName());

    FirebaseRecyclerOptions<TimeSlots> options =
            new FirebaseRecyclerOptions.Builder<TimeSlots>()
                    .setQuery(TimeSlotsRef, TimeSlots.class)
                    .build();

    FirebaseRecyclerAdapter<TimeSlots, ModifyTimeSlotViewHolder> adapter =
            new FirebaseRecyclerAdapter<TimeSlots, ModifyTimeSlotViewHolder>(options) {
                @Override
                protected void onBindViewHolder(@NonNull ModifyTimeSlotViewHolder holder, int i, @NonNull TimeSlots model)
                {
                    holder.txtModifySubjectName.setText(model.getSubject());
                    holder.txtModifyTime.setText(model.getStartTime() + " - " + model.getEndTime());
                    holder.txtModifyDate.setText(model.getDate());
                    holder.txtModifyArea.setText(model.getArea());
                    holder.txtModifyPrice.setText(model.getPrice());
                    holder.txtModifyLevel.setText(model.getLevel());
                    holder.txtModifyCategory.setText(model.getCategory());

                    holder.itemView.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {

                            Intent intent = new Intent(TutorTimeSlotActivity.this, TutorModifyTimeSlotActivity.class);
                            intent.putExtra("timeSlotID", model.getTimeSlotID());
                            startActivity(intent);
                        }
                    });
                }

                @NonNull
                @Override
                public ModifyTimeSlotViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.modify_item_layout, parent, false);
                    ModifyTimeSlotViewHolder holder = new ModifyTimeSlotViewHolder(view);
                    return holder;
                }
            };

    recyclerView.setAdapter(adapter);
    adapter.startListening();
}
...