Android 如何读取“a”的值;“儿童”;在FirebaseRecyclerAdapter内?
当我从请求节点使用firebase recycler适配器时,我想从客户端节点读取一个子节点(名称)的值,请求节点的子节点具有客户端密钥的值 我尝试了这个,但我只收到了链接Android 如何读取“a”的值;“儿童”;在FirebaseRecyclerAdapter内?,android,firebase,Android,Firebase,当我从请求节点使用firebase recycler适配器时,我想从客户端节点读取一个子节点(名称)的值,请求节点的子节点具有客户端密钥的值 我尝试了这个,但我只收到了链接 adapter=new FirebaseRecyclerAdapter<Request, OrderViewHolder>(optionsReq) { @Override protected void onBindViewHolder(@NonNull OrderViewHold
adapter=new FirebaseRecyclerAdapter<Request, OrderViewHolder>(optionsReq) {
@Override
protected void onBindViewHolder(@NonNull OrderViewHolder holder, final int position, @NonNull final Request model) {
holder.txtOrderId.setText(adapter.getRef(position).getKey());
holder.txtOrderStatus.setText(Common.convertCodeToStatus(model.getStatus()));
holder.txtOrderAddress.setText(model.getAddress());
holder.txtOrderDate.setText(Common.getDate(Long.parseLong(model.getDate())));
holder.txtOrderClient.setText(client.child(model.getDniclient()).child("name").toString());
@NonNull
@Override
public OrderViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.order_layout, parent,false);
return new OrderViewHolder(view);
}
};
recyclerView.setAdapter(adapter);
}
adapter=新的FirebaseRecyclerAdapter(选项请求){
@凌驾
受保护的无效onBindViewHolder(@NonNull OrderViewHolder holder,final int位置,@NonNull final Request model){
holder.txtOrderId.setText(adapter.getRef(position.getKey());
holder.txtOrderStatus.setText(Common.convertCodeToStatus(model.getStatus());
holder.txtOrderAddress.setText(model.getAddress());
holder.txtOrderDate.setText(Common.getDate(Long.parseLong(model.getDate()));
holder.txtordeclient.setText(client.child(model.getDniclient()).child(“name”).toString());
@非空
@凌驾
public OrderViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
View=LayoutFlater.from(parent.getContext()).flate(R.layout.order\u布局,parent,false);
返回新的OrderViewHolder(视图);
}
};
recyclerView.setAdapter(适配器);
}
数据库参考数据库参考;
字符串名;
适配器=新的FirebaseRecyclerAdapter(选项要求){
@凌驾
受保护的无效onBindViewHolder(@NonNull OrderViewHolder holder,final int位置,@NonNull final Request model){
holder.txtOrderId.setText(adapter.getRef(position.getKey());
holder.txtOrderStatus.setText(Common.convertCodeToStatus(model.getStatus());
holder.txtOrderAddress.setText(model.getAddress());
holder.txtOrderDate.setText(Common.getDate(Long.parseLong(model.getDate()));
holder.txtordeclient.setText(client.child(model.getDniclient()).child(“name”).toString());
databaseReference=FirebaseDatabase.getInstance().getReference().child(“客户端”).child(model.getDniclient());
databaseReference.addValueEventListener(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
name=dataSnapshot.child(“name”).getValue().toString();
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
@非空
@凌驾
public OrderViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
View=LayoutFlater.from(parent.getContext()).flate(R.layout.order\u布局,parent,false);
返回新的OrderViewHolder(视图);
}
};
recyclerView.setAdapter(适配器);
}
非常感谢,尽管我认为有一种方法不必为单个值实现“ValueEvenListener”。
DatabaseReference databaseReference;
String name;
adapter=new FirebaseRecyclerAdapter<Request, OrderViewHolder>(optionsReq) {
@Override
protected void onBindViewHolder(@NonNull OrderViewHolder holder, final int position, @NonNull final Request model) {
holder.txtOrderId.setText(adapter.getRef(position).getKey());
holder.txtOrderStatus.setText(Common.convertCodeToStatus(model.getStatus()));
holder.txtOrderAddress.setText(model.getAddress());
holder.txtOrderDate.setText(Common.getDate(Long.parseLong(model.getDate())));
holder.txtOrderClient.setText(client.child(model.getDniclient()).child("name").toString());
databaseReference = FirebaseDatabase.getInstance().getReference().child("Client").child(model.getDniclient());
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
name = dataSnapshot.child("name").getValue().toString();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
@NonNull
@Override
public OrderViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.order_layout, parent,false);
return new OrderViewHolder(view);
}
};
recyclerView.setAdapter(adapter);
}