0
を子供を返す:アンドロイドFirebaseのgetKey()私はこのようになりますFirebaseデータベースを持っている代わりに
appname:
chat:
[ID]:
child1:value
child2:value
私はこのようにそれを照会しています:
DatabaseReference ref = rootReference.child("chat").child([ID]);
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
long index = Long.parseLong(dataSnapshot.getKey());
}
}
問題は、このクエリはdoesnの、ありますdataSnapshot.getKey()
はIDの代わりに "child1"を返すため、作業しません。 dataSnapshot.getRef().getKey()
の場合も同様です。 dataSnapshot.getRef().getParent().getKey()
を使用した場合、私は "チャット"を取り戻します。 DataSnapshot
のキーを返すにはどうすればよいですか?私は今非常に混乱しています。
データベースコンソールからこの形式のデータを表示するスクリーンショットを投稿できますか? –
私はこの質問に台無しのように見えます。問題は、 'ValueEventListener'の後半で別のリスナーを追加していて、' MyClass.this'の代わりに誤って 'this'を使用していたことです。申し訳ありません。 – Nick
あなたの間違いを説明した自己回答を追加し、受け入れられたとマークしてこの質問を閉じますか? –