【发布时间】:2021-05-08 00:59:11
【问题描述】:
根据 Firebase 文档:
onChildAdded(DataSnapshot 快照, String previousChildName) 当一个新的孩子被添加到这个监听器被添加到的位置时,这个方法被触发。
但根据我在 Logcat 中收到的输出(通过我的方法 logresult()),我可以得出结论,即使我没有添加子项,也会触发 onChildAdded。并在我的节点“捕获”中触发每个子节点
她是我的密码
private void startMonitoring(){
paused=false;
resetgraph();
now = System.currentTimeMillis()/1000;
starting = System.currentTimeMillis()/1000;
starting = starting - starting%3600;
//logresult(new Date(starting*1000).toString()+" "+new Date((starting+3600)*1000).toString());
select_part(starting,starting+3600);
if(listener!=null){
captures.removeEventListener(listener);
}
listener = new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot snapshot, @Nullable String previousChildName) {
long timex = snapshot.child("date_captured").getValue(Long.class);
starting = timex - (timex % 3600);
logresult(new Date(starting*1000).toString()+" "+new Date((starting+3600)*1000).toString());
if ((timex%3600>1)&&(!paused)){
addentries(timex, snapshot.child("node1").getValue(dataTemplate.class));
}else if(!paused){
resetgraph();
select_part(starting,starting+3600);
}
if(paused){
captures.removeEventListener(this);
}
}
@Override
public void onChildChanged(@NonNull DataSnapshot snapshot, @Nullable String previousChildName) {
}
@Override
public void onChildRemoved(@NonNull DataSnapshot snapshot) {
}
@Override
public void onChildMoved(@NonNull DataSnapshot snapshot, @Nullable String previousChildName) {
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
};
captures.addChildEventListener(listener);
}
那么我的代码中缺少什么或做错了什么? 我还仔细检查了我是否将子节点添加到我的捕获节点但什么都没有
【问题讨论】:
标签: java firebase firebase-realtime-database