0
我有一个火力地堡数据库,看起来像这样:的Android火力地堡信息getKey()返回的孩子,而不是
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());
}
}
的问题是,这个查询没有按不工作,因为dataSnapshot.getKey()
返回“child1”而不是ID。它为dataSnapshot.getRef().getKey()
做同样的事情。如果我使用dataSnapshot.getRef().getParent().getKey()
,我会收到“聊天”。如何取回DataSnapshot
的钥匙?我现在非常困惑。
您可以从数据库控制台发布屏幕截图,以显示此格式的一些数据吗? –
看起来我搞砸了这个问题。原来问题出现在'ValueEventListener'后面,我添加了另一个监听器,并且意外地使用了'this'而不是'MyClass.this'。对不起所有。 – Nick
介意添加自我解答,解释您的错误,然后将其标记为已接受,以便此问题已关闭? –