Я хочу поместить данные из базы данных Firebase в список, однако получаю ошибку: «java.lang.IndexOutOfBoundsException: недопустимый индекс 0, размер равен 0», я даже пытался добавить в список вручную внутри valueEventListener как показано в комментарии, но все равно пусто
это мой код:
public class Playing extends AppCompatActivity implements View.OnClickListener {
public static List<Question> list_question=new ArrayList<>();
Question currentQuestion;
int index=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_playing);
final DatabaseReference myRef = FirebaseDatabase.getInstance().getReference().child("quiz");
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
/*
Question question=new Question();
question.setQuestion("eeee");
question.setAnswerA("zzzzz");
question.setAnswerB("aazss");
question.setAnswerC("ytyty");
question.setAnswerD("jkjkjkjk");
question.setCorrectAnswer("A");
list_question.add(question);
*/
for (DataSnapshot ds:dataSnapshot.child("questions").getChildren())
{
Question question=new Question();
question.setQuestion(ds.child("question").getValue().toString());
question.setAnswerA(ds.child("A").getValue().toString());
question.setAnswerB(ds.child("B").getValue().toString());
question.setAnswerC(ds.child("C").getValue().toString());
question.setAnswerD(ds.child("D").getValue().toString());
question.setCorrectAnswer(ds.child("sol").getValue().toString());
list_question.add(question);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
currentQuestion = list_question.get(index);
Чего не хватает в моем коде?