Я знаю, что загрузка onDataChange является асинхронной, но тело имеет поток пользовательского интерфейса. И загрузка изображений с помощью Glide также асинхронна. Выполняется onDataChange, он попадает в тело потока пользовательского интерфейса, но там изображение загружается в новый поток и, следовательно, изображение не успевает загрузить, как код выполняется далее.
myRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
...
if(word.contains("https")){
Glide.with(Activity.this)
.load(url)
.into(imageView);
}else{
Log.d(TAG, "Another");
}
}
}
}
Это база данных Firebase.
Как дождаться загрузки изображения перед продолжением цикла «для»?