【发布时间】:2019-02-15 15:04:56
【问题描述】:
这是我的结构 Firebase 数据库。我需要将所有订单详细信息(订单日期、订单名称等)发送到 arraylist。但是不知道会有多少订单(order1, order2...)。
这是我的模型类:
public class OrderDetails {
String orderdate,ordername;
public OrderDetails() {
}
public OrderDetails(String orderdate, String ordername) {
this.orderdate = orderdate;
this.ordername = ordername;
}
public String getOrderdate() {
return orderdate;
}
public void setOrderdate(String orderdate) {
this.orderdate = orderdate;
}
public String getOrdername() {
return ordername;
}
public void setOrdername(String ordername) {
this.ordername = ordername;
} }
这是我的代码:
ref = FirebaseDatabase.getInstance().getReference().child("Customers").child(cityID).child(customerID).child("orders");
List<OrderDetails> orderList = new ArrayList<>();
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for( DataSnapshot postSnapshot : dataSnapshot.getChildren()){
OrderDetails details = postSnapshot.getValue(OrderDetails.class);
orderList.add(details);
toast.makeText(getContext(), orderList, Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
} });
但是这段代码不起作用。请需要帮助!
【问题讨论】:
-
你为什么说它不起作用?你有错误吗?你是怎么测试的?
-
我添加吐司 toast.makeText(getContext(), orderList, Toast.LENGTH_SHORT).show();并获得下一个日期:[com.example.janedtj.shopapk.models.OrderDetails@8a15b85, com.example.janedtj.shopapk.models.OrderDetails@474adda]
-
请将该行代码添加到您的实际代码中。
-
我添加了这一行。
-
如果你在使用
Toast.makeText(getContext(), details.getOrdername(), Toast.LENGTH_SHORT).show();,它会烤出订单的名称吗?
标签: android firebase arraylist firebase-realtime-database