Ниже моя структура базы данных
Я создал в представлении recyclerView, чтобы показать все заказы, сделанные пользователями. Представление переработчика работает нормально, но проблема в том, что он показывает все детали заказов, сделанных каждым пользователем. Я хочу отображать только бронирования, сделанные текущим вошедшим пользователем. Я создал userID с помощью getUid. Ниже приведен класс Model для извлечения данных из firebase.
public class Booking {
private String userEmail;
private String NameOfPlace;
private String Slotnumber;
private String Duration;
private String StartTime;
private String Price;
private String currentDate;
public Booking() {
}
public Booking(String userEmail, String nameOfPlace, String slotnumber, String duration, String startTime, String price, String currentDate) {
this.userEmail = userEmail;
NameOfPlace = nameOfPlace;
Slotnumber = slotnumber;
Duration = duration;
StartTime = startTime;
Price = price;
this.currentDate = currentDate;
}
public String getUserEmail() {
return userEmail;
}
public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}
public String getNameOfPlace() {
return NameOfPlace;
}
public void setNameOfPlace(String nameOfPlace) {
NameOfPlace = nameOfPlace;
}
public String getSlotnumber() {
return Slotnumber;
}
public void setSlotnumber(String slotnumber) {
Slotnumber = slotnumber;
}
public String getDuration() {
return Duration;
}
public void setDuration(String duration) {
Duration = duration;
}
public String getStartTime() {
return StartTime;
}
public void setStartTime(String startTime) {
StartTime = startTime;
}
public String getPrice() {
return Price;
}
public void setPrice(String price) {
Price = price;
}
public String getCurrentDate() {
return currentDate;
}
public void setCurrentDate(String currentDate) {
this.currentDate = currentDate;
}
}
Ниже приведена основная активность, за которой следует java-класс recyclerviewHolder:
FirebaseDatabase mdatabase;
DatabaseReference refbooking;
RecyclerView recycler_booking;
RecyclerView.LayoutManager layoutManager;
FirebaseRecyclerAdapter<Booking, BookingViewHolder> adapter;
String uid;
FirebaseUser user;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v= inflater.inflate(R.layout.view_booking, null);
mdatabase=FirebaseDatabase.getInstance();
refbooking=mdatabase.getReference().child("Bookings");
user= FirebaseAuth.getInstance().getCurrentUser();
uid=user.getUid();
recycler_booking=(RecyclerView)v.findViewById(R.id.BookingRecyclerView);
recycler_booking.setHasFixedSize(true);
layoutManager = new LinearLayoutManager(getActivity());
recycler_booking.setLayoutManager(layoutManager);
loadMenu();
return v;
}
private void loadMenu() {
adapter=new FirebaseRecyclerAdapter<Booking, BookingViewHolder>(Booking.class, R.layout.viewbooking_layout, BookingViewHolder.class, refbooking) {
@Override
protected void populateViewHolder(final BookingViewHolder viewHolder, final Booking model, int position) {
viewHolder.bookedplace.setText(model.getNameOfPlace());
viewHolder.bookedplace.setText(model.getNameOfPlace());
viewHolder.bookedslot.setText(model.getSlotnumber());
viewHolder.bookeddate.setText(model.getCurrentDate());
viewHolder.bookedduration.setText(model.getDuration());
viewHolder.bookedstarttime.setText(model.getStartTime());
}
};
recycler_booking.setAdapter(adapter);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
getActivity().setTitle("View Booking");
}
}
Класс ViewHolder:
public class BookingViewHolder extends RecyclerView.ViewHolder {
public TextView bookedplace;
public TextView bookedslot;
public TextView bookeddate;
public TextView bookedduration;
public TextView bookedstarttime;
public BookingViewHolder(View itemView) {
super(itemView);
bookedplace= (TextView) itemView.findViewById(R.id.bookedplace);
bookedslot= (TextView) itemView.findViewById(R.id.bookedslot);
bookeddate= (TextView) itemView.findViewById(R.id.bookeddate);
bookedduration=(TextView) itemView.findViewById(R.id.bookedduration);
bookedstarttime= (TextView) itemView.findViewById(R.id.bookedstarttime);
}
}
Пожалуйста, помогите мне, это будет действительно оценено. Thankyou