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版即将推出。