所以我有一组孩子,我想得到的价值,但关键可能是任何东西所以我需要使用变量。但是,当我运行此代码时,我得到Null值?
任何想法我做错了什么? ' *********
public void dataSnapshotSift(DataSnapshot dataSnapshot){
for (DataSnapshot childDataSnapshot : dataSnapshot.getChildren()){
String key = childDataSnapshot.getKey();
String value = "" + childDataSnapshot.child(key).getValue();
Log.v("Firebase: ", key);
Log.v("Firebase: ", "" + childDataSnapshot.child(key).getValue());
}
}
' ***********这是logCat
07-31 23:48:23.702 V/Firebase poss count:: 3
07-31 23:48:23.702 V/FireBase:: Value: DataSnapshot { key = T2, value = {33=P00006, 4=P00003, 1=P00001} }
07-31 23:48:23.702 V/Firebase:: 1
07-31 23:48:23.702 V/Firebase:: null
07-31 23:48:23.702 V/Firebase:: 4
07-31 23:48:23.702 V/Firebase:: null
07-31 23:48:23.702 V/Firebase:: 33
07-31 23:48:23.702 V/Firebase:: null
答案 0 :(得分:2)
我根据您的数据库结构看起来像这样的假设给出了答案:
{
T2: {
33: P00006,
4: P00003,
1: P00001
},
...
}
以下是value
的代码:
String value = "" + childDataSnapshot.child(key).getValue();
但childDataSnapshot
没有值为key
的孩子。例如,密钥为childDataSnapshot
的{{1}}也不会有33
的子项。相反,您只想获得33
的价值。
childDataSnapshot