2017-09-13 55 views
0

当用户放置其订单时,表格请求将自动在Firebase上创建,并在该表格中包含名称,电话号码,地址。现在,在另一项活动中,我想查看已下达的订单,并希望在回收视图中检索数据,但应用显示空白屏幕。这是我的java代码。从Firebase数据库中检索数据的应用程序显示空白屏幕

public class OrderStatus extends AppCompatActivity { 

public RecyclerView recyclerView; 
public RecyclerView.LayoutManager layoutManager; 

FirebaseRecyclerAdapter<Request,OrderViewHolder> adapter; 
FirebaseDatabase database; 
DatabaseReference requests; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_order_status); 
    //firebase 
    database=FirebaseDatabase.getInstance(); 
    requests=database.getReference("Requests"); 

    recyclerView= (RecyclerView)findViewById(R.id.listOrders); 
    recyclerView.setHasFixedSize(true); 
    layoutManager= new LinearLayoutManager(this); 
    recyclerView.setLayoutManager(layoutManager); 

    loadOrders(); 


} 

private void loadOrders() { 


    adapter = new FirebaseRecyclerAdapter<Request, OrderViewHolder>(
      Request.class, 
      R.layout.order_layout, 
      OrderViewHolder.class, 
      requests.orderByChild("phone") 
      .equalTo("phone") 
    ) { 



     @Override 
     protected void populateViewHolder(OrderViewHolder viewHolder, Request model, int position) { 
      viewHolder.txtOrderId.setText(adapter.getRef(position).getKey()); 
      viewHolder.txtOrderStatus.setText(convertCodeToStatus(model.getStatus())); 
      viewHolder.txtOrderAddress.setText(model.getAddress()); 
      viewHolder.txtOrderPhone.setText(model.getPhone()); 

     } 
    }; 
    recyclerView.setAdapter(adapter); 
} 

private String convertCodeToStatus(String status) { 
    if (status.equals("0")) 
     return "placed"; 
    else if (status.equals("1")) 
     return "On my way"; 
    else 
     return "Shipped"; 
} 

}

+0

你覆盖onCreateViewHolder( ) 方法? – user2387962

回答

0

你是不是在方法负荷订单传递参数,所以你试试这个它为我工作 私人无效loadOrders(){

adapter = new FirebaseRecyclerAdapter<Request, OrderViewHolder>(
     Request.class, 
     R.layout.order_layout, 
     OrderViewHolder.class, 
     requests.orderByChild("phone") 

) 
相关问题