Я пытаюсь получить данные только одного узла за раз по его уникальному идентификатору в виде списка. По сути, я принимаю заказы от разных пользователей и храню их в FireBase. вместо того, чтобы показывать все заказы определенного пользователя c, мой код показывает все заказы всем пользователям. Помогите мне решить эту проблему.
listView = findViewById(R.id.List_view);
databaseReference = FirebaseDatabase.getInstance().getReference("orders");
studentsList = new ArrayList<>();
}
@Override
protected void onStart() {
super.onStart();
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot studentSnapshot : dataSnapshot.getChildren()){
UserHelperClassMain students = studentSnapshot.getValue(UserHelperClassMain.class);
studentsList.add(students);
}
StudentsInfoAdapter studentsInfoAdapter = new StudentsInfoAdapter(MyOrders.this,studentsList);
listView.setAdapter(studentsInfoAdapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
StudentsInfoAdapter. java
private Activity context;
private List<UserHelperClassMain> studentsList;
public StudentsInfoAdapter(Activity context,List<UserHelperClassMain>studentsList){
super(context, R.layout.myorders, studentsList);
this.context = context;
this.studentsList = studentsList;
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View ListView = inflater.inflate(R.layout.myorders,null,true);
TextView studentsname = (TextView)ListView.findViewById(R.id.order_number);
TextView studentsmobile = (TextView)ListView.findViewById(R.id.order_status);
UserHelperClassMain students = studentsList.get(position);
studentsname.setText(students.getOrders());
studentsmobile.setText(students.getOrderStatus());
return ListView;
}
}