Android 如何读取“a”的值;“儿童”;在FirebaseRecyclerAdapter内?

Android 如何读取“a”的值;“儿童”;在FirebaseRecyclerAdapter内?,android,firebase,Android,Firebase,当我从请求节点使用firebase recycler适配器时,我想从客户端节点读取一个子节点(名称)的值,请求节点的子节点具有客户端密钥的值 我尝试了这个,但我只收到了链接 adapter=new FirebaseRecyclerAdapter<Request, OrderViewHolder>(optionsReq) { @Override protected void onBindViewHolder(@NonNull OrderViewHold

当我从请求节点使用firebase recycler适配器时,我想从客户端节点读取一个子节点(名称)的值,请求节点的子节点具有客户端密钥的值

我尝试了这个,但我只收到了链接

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);
}