我正在尝试获取内部类中的变量的值,该值被firebase “addValueEventListener”覆盖,但是当我尝试打印出这些方法之外的值时,我总是得到“NULL”。这是我的代码:
DatabaseReference reff = database.getReference().child("Users").child(userId);
reff.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User r= dataSnapshot.getValue(User.class);
username= r.getUserN();
//当我尝试打印出用户名的值时,它会显示
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
DatabaseReference ref = database.getReference().child("service").child(b);
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Service s = dataSnapshot.getValue(Service.class);
servicename=s.getNomservice();
//与用户名相同,我得到了值
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
rv = new Rv(username,servicename,dt,tm);
RVId = myRef.push().getKey();
myRef.child(RVId).setValue(rv);
//在这里,当我打印出用户名和服务名称时,我得到了空白