我的日誌可以打印全部Exercise
對象。但是我打電話時listExercise
爲空。有什麼問題?無法從Android上的Firebase獲取列表大小
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
for (DataSnapshot postSnapshot : snapshot.getChildren()) {
Exercise exercise = postSnapshot.getValue(Exercise.class);
String temp = exercise.toString();
Log.d("exercise: ", temp + "\n"); // can log all
listExercises.add(exercise);
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
Log.d("The read failed: ", firebaseError.getMessage());
}
});
Log.d("LISTSIZE: ", String.valueOf(listExercises.size())); // return 0
[更新]對任何人的回答需要:
@Override
public void onDataChange(DataSnapshot snapshot) {
for (DataSnapshot postSnapshot : snapshot.getChildren()) {
Exercise exercise = postSnapshot.getValue(Exercise.class);
listExercises.add(exercise);
}
// action with data here
Exercise ex = listExercises.get(0);
tvQuestion.setText(ex.getQuestion);
}
你得到一些錯誤堆棧跟蹤? – jDur
不,它只是在我登錄時返回一個空列表: Log.d(「LISTSIZE:」,String.valueOf(listExercises.size())); – kidsoul
在插入練習之前,您可能正在檢查列表。注意這是異步工作的。將「LISTSIZE」的日誌放在listExercises.add(練習)後面; – jDur