Here是我的火力架结构
这是我的代码在firebase之前
final FirebaseDatabase database = FirebaseDatabase.getInstance();
bookingRef = database.getReference("booking");
query = bookingRef.orderByChild("studentID").equalTo("S00001");
query.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Booking myBooking = dataSnapshot.getValue(Booking.class);
addBookingRow(myBooking, dataSnapshot.getKey());
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
//here it is fired when the alarset value is changed
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
String tag = dataSnapshot.getKey();
removeBookingRow(tag);
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
每个预订节点都有几个child nodes(?)
,分别是classID,studentID,attend,alarmType
如您所见,我有查询获取具有特定学生ID的节点。
然后,我为已排序的节点添加了addChildEventListener
。
因此,当预订节点的任何子节点发生更改时,会触发onChildChanged
方法,它会为具有子节点更改的预订节点提供数据快照。
这里我想知道哪个子节点发生了变化。就像我想知道在更改ClassID时是否触发了onChildChanged
方法。
因为我想根据每个子节点的变化实现不同的行为
我是否必须为每个子节点设置一些监听器?或.. ..
你们能给我解决方案吗?
我正在android studio中开发
感谢