1

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

有我丟失的東西?

注意 - 我知道我可以管理自己的數據(孩子)旁邊的數據,只是在設置適配器之前加載它,但我保存這是最後的手段。

謝謝!

+0

閱讀單詞比閱讀代碼更容易閱讀。請發佈[重現問題的最小代碼](http://stackoverflow.com/help/mcve)。但是如果你認爲你發現了一個bug,你最好報告一個[FirebaseUI-Android github repo]上的問題(https://github.com/firebase/FirebaseUI-Android/issues)。 –

+0

@FrankvanPuffelen我已經更新了這個問題。謝謝。 – Shirane85

回答

1

因此,開口於FirebaseUI,Android的GitHub庫一個issue,通過@Frank麪包車Puffelen的建議後,我得到了一個答案從@SUPERCILEX說onDataChangedFirebaseIndexRecyclerAdapter確實破裂,將其固定在其2.0版即將推出。