我使用FirebaseIndexRecyclerAdapter
它获取keyRef和dataRef,并且非常有助于获取keyRef中所有的dataRef的子键,这些键的子键都存在于子键中。FirebaseIndexRecyclerAdapter onDataChanged被调用,但getItemCount()总是返回0
数据正在显示正常,但如果我是压倒一切的onDataChanged
隐藏进度条和/或显示空的状态取决于itemsCount(一些东西,我已经与FirebaseRecyclerAdapter
完成,按预期工作),但getItemCount
总是返回0
private class MYAdapter extends FirebaseIndexRecyclerAdapter<Item, ItemHolder> {
.
.
@Override
protected void onDataChanged() {
super.onDataChanged();
// getItemCount() == 0 here always
}
.
.
}
我进行调查,原因是FirebaseIndexRecyclerAdapter
是使用FirebaseIndexArray
这是压倒一切的getItemCount
并返回mDataSnapshots.size()
但数据尚未加载(!) - 在onDataChanged
被称为是因为keyRef装 - 事实上,我可以在调试中看到按键已加载(w ith正确的计数),但不幸的是他们是私人的,所以我不能用它们来计数。
我知道我可以覆盖onChildChanged
,然后打电话getItemCount
并得到正确的计数(我已经完成),但我仍然不知道是否没有项目,我需要显示空状态。
使用com.firebaseui:firebase-ui:1.2.0
有我丢失的东西?
注意 - 我知道我可以管理自己的数据(孩子)旁边的数据,只是在设置适配器之前加载它,但我保存这是最后的手段。
谢谢!
阅读单词比阅读代码更容易阅读。请发布[重现问题的最小代码](http://stackoverflow.com/help/mcve)。但是如果你认为你发现了一个bug,你最好报告一个[FirebaseUI-Android github repo]上的问题(https://github.com/firebase/FirebaseUI-Android/issues)。 –
@FrankvanPuffelen我已经更新了这个问题。谢谢。 – Shirane85