0
나는이처럼 보이는 중포 기지 데이터베이스가 있습니다안드로이드 중포 기지하는 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()
은 ID 대신 "child1"을 반환하기 때문에 작업하지 않습니다. dataSnapshot.getRef().getKey()
에 대해서도 동일한 작업을 수행합니다. dataSnapshot.getRef().getParent().getKey()
을 사용하면 "chat"이 다시 나타납니다. DataSnapshot
의 키를 다시 얻으려면 어떻게해야합니까? 나는 지금 매우 혼란 스럽다.
데이터베이스 콘솔에서 일부 형식의 데이터가 표시된 스크린 샷을 게시 할 수 있습니까? –
나는이 질문에 망쳐 놓은 것처럼 보입니다. 문제는 "ValueEventListener"에서 나중에 다른 리스너를 추가하고 실수로'MyClass.this' 대신에'this'를 사용했다는 것을 알게되었습니다. 미안 해요. – Nick
마음에 자신의 실수를 설명하는 자체 응답을 추가 한 다음 허용 된 것으로 표시하여이 질문을 닫습니다. –