这是我在Firebase实时数据库中的JSON树。我只想迭代并阅读questions
下的所有项目。我想我在做一些愚蠢的错误。
在“我的应用程序”下 - 我有一个“问题”分支,并在其下保存了一堆数据。下面是树和我的代码。在代码中我指出了崩溃的部分。下面用红色圈出来是我想要阅读的内容。
public void readfromFireDB() {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference().child("questions");
// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
**THIS IS THE ERROR, ques comes back as NULL**
Question ques = dataSnapshot.getValue(Question.class);
String key = dataSnapshot.getKey();
}
@Override
public void onCancelled(DatabaseError error) {
}
});
}
此问题:ques
中的onDataChanged()
作为空引用返回。可能是我没有正确访问questions
下的孩子?
答案 0 :(得分:2)
使用ValueEventListener
您正在访问问题列表,而不是单个问题。
要访问每个问题,您需要循环快照:
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot questionSnapshot: dataSnapshot.getChildren()) {
Question ques = questionSnapshot.getValue(Question.class);
String key = questionSnapshot.getKey();
}
}