Java 将表中的数据检索到Firebase中的另一个表中

Java 将表中的数据检索到Firebase中的另一个表中,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我试图从数据库中的一个表中检索数据并插入到另一个表中,但赋值为null而不是值。我想从Account表中获取当前用户的名称,并将其插入Booking表中 mDatabase.getReference().child("Accounts").child(mAuth.getCurrentUser().getUid()).addValueEventListener(new ValueEventListener() { @Override public void onDataChange

我试图从数据库中的一个表中检索数据并插入到另一个表中,但赋值为null而不是值。我想从Account表中获取当前用户的名称,并将其插入Booking表中

mDatabase.getReference().child("Accounts").child(mAuth.getCurrentUser().getUid()).addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        if(dataSnapshot.exists()){

                Accounts accounts = dataSnapshot.getValue(Accounts.class);
                assert accounts != null;
                Value = accounts.getName();
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }
});
以下是从Account表中检索到的值的插入代码:

mDatabase.getReference("Booking").child(mKeys.get(position)).child("name").setValue(Value);
以下是我称之为上述声明的部分:

        holder.mCardView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if(mBookList.get(position).getPic().equals("button")&&mBookList.get(position).isAvailability()){
                AlertDialog.Builder builder=new AlertDialog.Builder(mContext);
                builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Picasso.with(mContext).load(R.drawable.unavailablef).into(holder.imageView);
                        mDatabase.getReference("Booking").child(mKeys.get(position)).child("availability").setValue(false).addOnSuccessListener(new OnSuccessListener<Void>() {
                            @Override
                            public void onSuccess(Void aVoid) {
                                Toast.makeText(mContext,"Confirmed",Toast.LENGTH_SHORT).show();
                            }
                        });
                        mDatabase.getReference("Booking").child(mKeys.get(position)).child("userID").setValue(mUser.getUid());
                        information();
                        mDatabase.getReference("Booking").child(mKeys.get(position)).child("name").setValue(Value);
holder.mCardView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
if(mBookList.get(position.getPic().equals(“按钮”)&&mBookList.get(position.isAvailability()){
AlertDialog.Builder=新建AlertDialog.Builder(mContext);
builder.setPositiveButton(“是”,新建DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
毕加索.with(mContext).load(R.drawable.unavailable f).into(holder.imageView);
mDatabase.getReference(“Booking”).child(mKeys.get(position)).child(“可用性”).setValue(false).addOnSuccessListener(新OnSuccessListener()){
@凌驾
成功时公开作废(作废避免){
Toast.makeText(mContext,“已确认”,Toast.LENGTH_SHORT.show();
}
});
mDatabase.getReference(“Booking”).child(mKeys.get(position)).child(“userID”).setValue(mUser.getUid());
信息();
mDatabase.getReference(“Booking”).child(mKeys.get(position)).child(“name”).setValue(Value);
这是我通过调试运行代码时得到的结果:


如何调用'mDatabase.getReference(“Booking”).child(mKeys.get(position)).child(“name”).setValue(Value);'您在代码的哪一部分使用了
mDatabase.getReference(“Booking”).child(mKeys.get(position)).child(“name”).setValue(Value)
?请用@AlexMamoI回复。我已经添加了我调用上述语句的代码部分,请看一看,我正在等待您的回复。我已经添加了调用上述语句的代码部分,请看一看,我正在等待您的回复。。