Как показать все дочерние данные из firebase, но исключить указанный c дочерний элемент внутри повторного просмотра? - PullRequest
1 голос
/ 11 марта 2020

Я делаю свой проект, где функция пользователь может выбрать временной интервал из репетитора, который отображается в recycleview. Преподаватель также является пользователем, поэтому я хочу реализовать функцию, которая может извлекать данные (временной интервал), кроме данных (временной интервал), от которых выполняется поиск. Связанный метод запроса - orderbyChild (). EqualTo (), но я знаю, что его нельзя использовать для неравенства.

Я установил «TimeSlotsRef» в качестве объекта DatabaseReferences для getInstances и getReference от child («TimeSlots»).

На данный момент я могу установить запрос только как «TimeSlotsRef» для отображения данных внутри recycleview, поэтому кто-то может предоставить мне метод запроса для извлечения всех данных из дочернего элемента, кроме данных из указанного c вложенного дочернего элемента?

Ниже мой код:

public void onStart(){
    super.onStart();

   TimeSlotsRef = FirebaseDatabase.getInstance().getReference()
            .child("Time Slots");

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

    FirebaseRecyclerAdapter<TimeSlots, TimeSlotViewHolder> adapter =
        new FirebaseRecyclerAdapter<TimeSlots, TimeSlotViewHolder>(options) {
            @Override
            protected void onBindViewHolder(@NonNull TimeSlotViewHolder holder, int i, @NonNull TimeSlots model)
            {
                holder.txtTutorName.setText(model.getTutorID());
                holder.txtTutorTime.setText(model.getStartTime() + " - " + model.getEndTime());
                holder.txtTutorDate.setText(model.getDate());
                holder.txtArea.setText(model.getArea());
                holder.txtTutorPrice.setText(model.getPrice());
                holder.txtTutorSubject.setText(model.getSubject());
                holder.txtLevel.setText(model.getLevel());
                holder.txtCategory.setText(model.getCategory());
                Picasso.get().load(model.getTutorImage()).placeholder(R.drawable.blank_profile).into(holder.tutorImage);

                holder.itemView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v)
                    {
                        Intent intent = new Intent(getActivity(), SpecificTimeSlotDetailsActivity.class);
                        intent.putExtra("timeSlotID", model.getTimeSlotID());
                        startActivity(intent);
                    }
                });
            }

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

                return holder;
            }
        };

    recyclerView.setAdapter(adapter);
    adapter.startListening(); }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...