我使用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