【问题标题】:Firebase when is last time onChildAdded is being called [duplicate]Firebase 上一次调用 onChildAdded 的时间 [重复]
【发布时间】:2017-03-15 22:04:54
【问题描述】:
我需要显示一个加载微调器。为此,我需要知道 Firebase 何时完成所有子项的加载。下面的函数只是被随机调用多次,我不知道最后一次是什么时候。查询记录的数量也可以解决这个问题。
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String previousChildKey) {
}
【问题讨论】:
标签:
android
firebase
firebase-realtime-database
【解决方案1】:
我正在使用此代码,它运行良好。
你应该在你的query 上使用addListenerForSingleValueEvent。
noViewTxtView 是一个 TextView,如果没有孩子,它会告诉用户没有帖子。
loadingLayout 是我的自定义进度条。
更多信息请参考this答案
void setProgressBar() {
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
loadingLayout.setVisibility(View.GONE);
hasChilderen = dataSnapshot.hasChildren();
if (!hasChilderen) {
noViewTxtView.setVisibility(View.VISIBLE);
}
query.removeEventListener(this);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}