for (int i = 1; i < 3; i++) {
list.add(new Integer(i));
}
Collections.shuffle(list);
for (int i = 0; i < 2; i++) {
int r = list.get(i);
numeroRandom = Integer.toString(r);
Log.d("DEBUG", "teste random :" + list.get(i));
Log.d("DEBUG", "numeroRandomGerado = " + numeroRandom);
final DatabaseReference questaoRef = fireBaseRef.child("questoes");
Log.d("DEBUG", "Loop Stop here");
questaoRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d("DEBUG", "teste2");
if (dataSnapshot != null) {
Questoes questoes = dataSnapshot.child("id").child(numeroRandom).getValue(Questoes.class);
Log.d("DEBUG", "teste3");
Questoes objetoQuestao = new Questoes();
objetoQuestao.setQuestao(questoes.getQuestao());
objetoQuestao.setOpcaoA(questoes.getOpcaoA());
objetoQuestao.setOpcaoB(questoes.getOpcaoB());
objetoQuestao.setOpcaoC(questoes.getOpcaoC());
objetoQuestao.setOpcaoD(questoes.getOpcaoD());
objetoQuestao.setResultado(questoes.getResultado());
listaQuestoes.add(objetoQuestao);
Log.d("DEBUG", "tamanho = " + listaQuestoes.size());
}
callBack.onCallback(listaQuestoes);
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
По какой-то причине мой цикл останавливается на Log.d («DEBUG», «Loop Stop here») и возвращается к началу и выполняет 2 раза оставшуюся часть кода.
это журнал, который я получаю из кода, по какой-то причине останавливается на отладке 3 °, перезапускается и выполняет все заново
teste random :1
numeroRandomGerado = 1
Loop stop here
teste random :2
numeroRandomGerado = 2
Loop stop here - teste 1
teste2
tamanho = 1
callback
teste2
teste3
Когда правильное будет так:
teste random :1
numeroRandomGerado = 1
Loop stop here - teste 1
teste2
teste3
tamanho = 1
callBack
teste random :2
numeroRandomGerado = 2
Loop stop here
teste2
teste3
tamanho = 2
callBack