字符串字符串="" + childDataSnapshot.child(key).getValue())

时间:2017-07-31 21:54:09

标签: android firebase snapshot

所以我有一组孩子,我想得到的价值,但关键可能是任何东西所以我需要使用变量。但是,当我运行此代码时,我得到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

1 个答案:

答案 0 :(得分:2)

我根据您的数据库结构看起来像这样的假设给出了答案:

{ 
    T2: {
        33: P00006,
        4: P00003,
        1: P00001
    },
   ...
}

以下是value的代码:

String value = "" + childDataSnapshot.child(key).getValue();

childDataSnapshot没有值为key的孩子。例如,密钥为childDataSnapshot的{​​{1}}也不会有33的子项。相反,您只想获得33的价值。

childDataSnapshot