Я хочу разработать приложение, в котором оно берет строку и конвертирует ее в массив слов, что я уже сделал.Но проблема в том, что я использую for loop и запрос Firebase, чтобы показать Image из хранилища firebase один за другим по thread.sleep (5000); это не работает.Это всегда показывает только последнее слово, а также последнее слово.
Вот мой код:
String str=matches.get(0).toLowerCase();
final String[] word=str.split(" ");
//speexhTxt.setText(word.length);
// speexhTxt.setText(String.valueOf(one));
for (i=0;i<word.length;i++) {
progressBar.setVisibility(View.VISIBLE);
imageHide.setVisibility(View.GONE);
signImage.setVisibility(View.VISIBLE);
firebaseFirestore= FirebaseFirestore.getInstance();
collectionReference=firebaseFirestore.collection("dumbsign");
Query query=collectionReference.whereEqualTo("word",word[i]);
final int finalI = i;
query.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()){
for (QueryDocumentSnapshot doc : task.getResult()){
Glide.with(getApplicationContext()).
load(doc.getString("image_url"))
.into(signImage);
speexhTxt.setText(word[finalI]);
progressBar.setVisibility(View.GONE);
}
};
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}