我有一个ChildEventListener来迭代Firebase节点中的子项列表。这些子节点中的每一个都是另一个节点的子节点,我试图使用ChildEventListener中的ValueEventListener来访问它们。 ValueEventListener根本不会打电话。我在onDataChange方法中有一个print语句,它没有打印。
databaseReference.addOnChildEventListener(new ChildEventListener(){
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
databaseReference.addListenerForSingleValueEvent(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
System.out.println("PRINT");
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
在调用addOnChild ...或addListener之前,还有更多的数据库参考...但我不知道为什么它不会打印该语句。