Я делаю приложение для покупок и хочу добавить вкладку «Заказы», где пользователи могут видеть свои собственные заказы, ожидающие в данный момент.Я уже сделал вкладку «Заказы», где администратор может видеть все пользовательские заказы в панели администратора.Я также использовал тот же блок кодов для активности в списке заказов текущего пользователя.Но он показывает все заказы каждого пользователя.Я не знаю, как это исправить.У меня есть модель класса, чтобы получить Текущий пользователь онлайн.Я тоже это попробовал, но не получилось.
Вот что я попробовал ...
protected void onStart()
{
super.onStart();
final DatabaseReference ordersRef = FirebaseDatabase.getInstance().getReference().child("Orders");
FirebaseRecyclerOptions<AdminOrders> options =
new FirebaseRecyclerOptions.Builder<AdminOrders>()
.setQuery(ordersRef
.child(Prevelant.currentOnlineUser.getUsername())
, AdminOrders.class)
.build();
FirebaseRecyclerAdapter<AdminOrders, AdminOrdersViewHolder> adapter =
new FirebaseRecyclerAdapter<AdminOrders, AdminOrdersViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull final AdminOrdersViewHolder holder, final int position, final @NonNull AdminOrders model)
{
holder.userName.setText("Name : "+ model.getName());
holder.userPhoneNumber.setText("Phone Number : "+ model.getPhone());
holder.userTotalPrice.setText("Total : Rs."+ model.getTotalAmount());
holder.userDateTime.setText("Order Time : "+ model.getDate() + model.getTime());
holder.userShippingAddress.setText("Address : "+ model.getAddress() + "," + model.getCity());
holder.showOrdersBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
String uID = getRef(position).getKey();
Intent intent = new Intent(UserViewOrdersActivity.this, AdminUserProductsActivity.class);
intent.putExtra("uid", uID);
startActivity(intent);
}
});
if(model.getFast_delivery()){
holder.txtFastDel.setText("Fast Delivery : Yes");
}else{
holder.txtFastDel.setText("Fast Delivery : No");
}
}
AdminOrders
public class AdminOrders
{
String name;
String phone;
String address;
String state;
String time;
String totalAmount;
String city;
String date;
String postal_code;
Boolean fast_delivery;
public AdminOrders()
{
}
public AdminOrders(String name, String phone, String address, String state, String time, String totalAmount, String city, String date, String postal_code, Boolean fast_delivery) {
this.name = name;
this.phone = phone;
this.address = address;
this.state = state;
this.time = time;
this.totalAmount = totalAmount;
this.city = city;
this.date = date;
this.postal_code = postal_code;
this.fast_delivery = fast_delivery;
}
AdminOrdersViewHolder
public static class AdminOrdersViewHolder extends RecyclerView.ViewHolder
{
public TextView userName, userPhoneNumber, userTotalPrice, userDateTime, userShippingAddress, txtFastDel;
public Button showOrdersBtn, viewLocationBtn;
public Switch fast_delivery;
public AdminOrdersViewHolder (View itemView)
{
super(itemView);
userName = itemView.findViewById(R.id.orderUserName);
userPhoneNumber = itemView.findViewById(R.id.orderPhoneNumber);
userTotalPrice = itemView.findViewById(R.id.orderTotalPrice);
userDateTime = itemView.findViewById(R.id.orderAddressCity);
userShippingAddress = itemView.findViewById(R.id.orderDateTime);
showOrdersBtn = itemView.findViewById(R.id.showAllProductsBtn);
viewLocationBtn = itemView.findViewById(R.id.viewLocationBtn);
txtFastDel = itemView.findViewById(R.id.txtFastDel);
fast_delivery = itemView.findViewById(R.id.fast_delivery);
}
}

И вот ошибка, которую я получаю
com.google.firebase.database.DatabaseException: Can't convert object of type java.lang.String to type com.harry.foodapp.Model.AdminOrders