У меня есть прослушиватель Firebase valueEvent:
questions.orderByChild("CategoryID").equalTo(categoryID)
.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
Question ques = postSnapshot.getValue(Question.class);
Common.questionList.add(ques);
}
//Random List
Collections.shuffle(Common.questionList);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
В качестве наилучшей практики для объекта, который можно присоединить и удалить, я хочу изменить код на объект ValueEventListener. Я сделал следующее:
mQuestionsListener = questions.orderByChild("CategoryID").equalTo(categoryID)
.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
Question ques = postSnapshot.getValue(Question.class);
Common.questionList.add(ques);
}
//Random List
Collections.shuffle(Common.questionList);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
questions.addValueEventListener(mQuestionsListener);
, но не работает. Где я не прав?