Я пытаюсь получить значение переменной, которая находится во внутреннем классе, которая была переопределена firebase "addValueEventListener" , но когда я пытаюсь распечатать значение вне этих методов, я всегда получаю"НОЛЬ".Это мой код:
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);
// и здесь, когда я распечатываю имя пользователя и имя сервера, я получаю ноль