0
私はデータスナップショットで受け取ったすべての子を反復し、そのキーをマップに入れようとしています。以下のコードスニペットでは、データがマップに格納されている場所で実行が停止しているようです。Firebase上のすべての子を反復できません
FirebaseDatabase.getInstance().getReference().child("Fixtures").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
if (snapshot.exists()) {
long childcount = snapshot.getChildrenCount();
for (DataSnapshot ds : snapshot.getChildren()) {
String currentuser = ds.getKey();
List<UserFixtures> emptyList = new ArrayList<>();
userPredictions.put(currentuser, emptyList);
childcount--;
if (childcount == 0) {
addFixturestoUserPredictions();
}
}
}
}
@Override
public void onCancelled (DatabaseError error){
}
});
したがって、3つの子がありますが、最初の繰り返しでは、map.putメソッドの後で実行が停止します。それはクラッシュしません、それはちょうど停止し、子どもに達することさえできません - ;私は何が起こっているのか分かりません。
スナップショットには、3つのすべての子とそのデータが含まれています。
このコードはGoogle App Engineにあります。
あなたはログを共有することができますか?そして、なぜ空のリストをmap(List emptyList = new ArrayList <>(); userPredictions.put(currentuser、emptyList);)に追加していますか? –
mark922