Я не знаком с базой данных Fire base. Пошёл извлекать данные из базы данных Fire-base. Порядок уведомлений для отображения данных о текущем онлайн-пользователе.
но проблема в том, что когда я добавляю дочерний элемент (Prevalent.Currentonlineuser.getUsername)), это исключение появляется, в противном случае, когда я не добавляю Current online, он показывает все данные, но я хочу показать пользователю определенного дочернего элемента, поэтому, пожалуйста, помогите мне с этим.
Показать класс уведомлений
public class ShowNotify extends AppCompatActivity {
private DatabaseReference ShowNotify;
private RecyclerView recyclerView;
RecyclerView.LayoutManager layoutManager;;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_notify);
recyclerView = findViewById(R.id.NotifyRecycler);
recyclerView.setHasFixedSize(true);
ShowNotify = FirebaseDatabase.getInstance().getReference().child("Notify User");
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
}
protected void onStart() {
super.onStart();
FirebaseRecyclerOptions<NotifyOrder> search =
new FirebaseRecyclerOptions.Builder<NotifyOrder>()
.setQuery(ShowNotify.child("Customers")
.child(Prevalent.currentOnlineUser.getUsername())
.child("Order Update info")
, NotifyOrder.class).build();
FirebaseRecyclerAdapter<NotifyOrder, NotifyAdabter> adapter =
new FirebaseRecyclerAdapter<NotifyOrder, NotifyAdabter>(search) {
@Override
protected void onBindViewHolder(@NonNull NotifyAdabter holder, int position, @NonNull final NotifyOrder model) {
////Retrieving Product Values on the database
holder.ShipmentStatus.setText(model.getShipmentStatus());
holder.Date.setText(model.getDate());
holder.Msg.setText(model.getMsg());
holder.Remove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
@NonNull
@Override
public NotifyAdabter onCreateViewHolder(@NonNull ViewGroup parent, int i) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.cartview, parent, false);
NotifyAdabter holder = new NotifyAdabter(itemView);
return holder;
}
};
recyclerView.setAdapter(adapter);
adapter.startListening();
}
}
NotifyAdapter
public class NotifyAdabter extends RecyclerView.ViewHolder implements View.OnClickListener
{
//Declaring attributes
public ImageView Remove;
public TextView ShipmentStatus,Date,Msg ;
public NotifyAdabter(View itemView)
{
super(itemView);
ShipmentStatus = itemView.findViewById(R.id.Shipment);
Date = itemView.findViewById(R.id.DateTime);
Msg = itemView.findViewById(R.id.Msg);
Remove = itemView.findViewById(R.id.remove);
}
@Override
public void onClick(View view) {
}
}
NotifyOrderModel
public class NotifyOrder {
private String Username ,Msg ,Date ,ShipmentStatus;
public NotifyOrder(){ }
public NotifyOrder(String username, String msg, String date, String shipmentStatus) {
Username = username;
Msg = msg;
Date = date;
ShipmentStatus = shipmentStatus;
}
public String getUsername() {
return Username;
}
public void setUsername(String username) {
Username = username;
}
public String getMsg() {
return Msg;
}
public void setMsg(String msg) {
Msg = msg;
}
public String getDate() {
return Date;
}
public void setDate(String date) {
Date = date;
}
public String getShipmentStatus() {
return ShipmentStatus;
}
public void setShipmentStatus(String shipmentStatus) {
ShipmentStatus = shipmentStatus;
}
}
Вот мои целевые данные для извлечения