问题
I am beginner to Android. I want to read all orders one by one and show them in table form. With this code it shows only data of last order.
public class plctovst extends AppCompatActivity {
RecyclerView recyclermanu;
RecyclerView.LayoutManager manager;
TableLayout tableLayout;
FirebaseRecyclerAdapter<orders, orderViewHolder> adapter;
FirebaseDatabase db;
DatabaseReference ref;
String cnic;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_plctovst);
recyclermanu=findViewById(R.id.CartView);
recyclermanu.setHasFixedSize(true);
manager=new LinearLayoutManager(this);
recyclermanu.setLayoutManager(manager);
recyclermanu.setAdapter(adapter);
SharedPreferences sharedpreferences;
sharedpreferences = getSharedPreferences("cnic", Context.MODE_PRIVATE);
cnic = sharedpreferences.getString("cnic",null);
db=FirebaseDatabase.getInstance();
ref=db.getReference("AssignedOrdersDetails").child(cnic);
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
Log.e("ASAD",postSnapshot.getKey());
FirebaseDatabase db1=FirebaseDatabase.getInstance();
DatabaseReference ref1=db1.getReference("AssignedOrdersDetails").child(cnic).child(postSnapshot.getKey());
adapter=new FirebaseRecyclerAdapter<orders, orderViewHolder>(orders.class,R.layout.order_item_list,orderViewHolder.class,ref1) {
@Override
protected void populateViewHolder(final orderViewHolder orderViewHolder, final orders order, int i) {
// orderViewHolder.order_number.setText(order.ge);
// Toast.makeText(Order.this, "In populate", Toast.LENGTH_SHORT).show();
Log.e("ASAD",order.getPrice());
orderViewHolder.order_date.setText("Date = "+order.getDate().toString());
orderViewHolder.order_time.setText("Time = "+order.getTime().toString());
orderViewHolder.order_price.setText("Price = "+order.getPrice().toString());
orderViewHolder.order_status.setText("Order Status = "+order.getStatus().toString());
}
};
recyclermanu.setAdapter(adapter);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});}
// tableLayout = findViewById(R.id.medicine_list_view);
// tableLayout.setStretchAllColumns(true);
// loadCart();
}
来源:https://stackoverflow.com/questions/62223547/want-to-read-data-one-by-one