В настоящее время я занимаюсь школьным проектом android и мне нужна помощь. У меня есть переменная, которая принимает какое-то значение в слушателе базы данных, и мне нужно использовать это значение вне слушателя. Можете ли вы помочь мне найти способ исправить инициализацию и использоватьэта переменная. Спасибо. Мой код ниже
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("user");
ref.addListenerForSingleValueEvent(
new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//Get map of users in datasnapshot
names= getAllNames((Map<String,Object>) dataSnapshot.getValue());
}
@Override
public void onCancelled(DatabaseError databaseError) {
//handle databaseError
}
});
String p= names.get(1);
этот метод getAllNames работает нормально, я его протестировал .P в данном случае равен нулю, поскольку он использует f "names" вне слушателя, а переменная "names"проблема, но в слушателе показывает правильное значение.