Я использую следующий код для извлечения данных из базы данных Firebase, но так как это делает сетевой запрос в фоновом потоке, поэтому я хочу подождать, пока он не завершит запрос и не получит стоимость. Например,Как определить, извлекал ли ValueEventListener данные или нет в Firebase
boolean isAvailable=false;
usernameReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
isAvailable = true;
}
@Override
public void onCancelled(DatabaseError databaseError) {
progressBar.setVisibility(View.GONE);
}
});
if(isAvailable){
//do something here
}
else{
//do something here
}
Этот фрагмент кода всегда выполнить еще часть, так что я хочу ждать, пока переменная isAvailable
получить значение из базы данных, то дальнейшее выполнение будет происходить.
Используйте для этого интерфейс. –
Не могли бы вы привести мне пример? –