我正在尝试使用中间的密钥检索“故障单”下方的子项,但无法执行此操作。方法getKey()返回“ticket”而不是键。
pre-commit
}
答案 0 :(得分:0)
如果您只想获取PassengerViewModel
类的对象,则无需使用child()
方法。只需删除此调用:.child(ref.getKey())
,您的代码就可以正常运行。
如果要将该按键传递给child()
方法,则需要先将其存储到变量中。为此,请使用以下代码:
String key = ref.push().getKey();
获得此密钥后,您可以在任何参考中使用它。
答案 1 :(得分:0)
首先谢谢@AlexMamo ....
这是正确的方法......
private void getSpecificTicketFromFirebase() {
DatabaseReference ref =
FirebaseDatabase.getInstance().getReference().child("user").child(firebaseManager.getFireBaseUser().getUid()).child("ticket");
ref.addValueEventListener(new ValueEventListener() {
@Override public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot data : dataSnapshot.getChildren()) {
Timber.d("Key %s",data.getKey());
}
}
@Override public void onCancelled(DatabaseError databaseError) {
Timber.e(databaseError.toException());
}
});