Firebase UI 3.2.1,FirebaseRecylcerAdapter,检查数据库参考是否有子

时间:2018-01-27 18:11:07

标签: firebase firebase-realtime-database firebaseui

既然FirebaseRecyclerAdapter允许我们覆盖方法,我们是否有任何可以覆盖的方法来检查数据库引用节点下是否存在子节点?如果没有孩子,我们应该能够相应地更新UI。

到目前为止,除非我们将EventListener分别附加到Ref节点并检查DataSnapshot是否有任何子节点,这只是开销,我认为是多余的任务,否则我们无法实现它。

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你在firebase中有一个节点引用列出项目,你想检查这些项目的子项是否存在。

如果是这种情况,请按照以下步骤操作:

假设您的数据结构如下:

    AnyNode
    | 
    item1
    |------name="some name"

     -----description="some description"

    item2
     |------name="some name"

     -------description="some description"

如果您现在将DataReference作为(AnyNode)传递给firebase回收器适配器,那么这意味着您要列出(item1)然后(item2).....我假设您知道如何做到这一点。

现在你的问题必须是知道(名字)或(描述)是否存在。

所以你在适配器的OnBindViewHolder中检查一下:

     //in OnBindViewHolder

      if(model.getName() ==null){
       //name doesn't exist

       }else{
        //name exist
        } 


        if(model.getDescription() ==null){
       //description doesn't exist

       }else{
        //description exist
        }

(model)是POJO类的名称。

希望它有所帮助。