既然FirebaseRecyclerAdapter
允许我们重写方法,我们是否有任何可以重写的方法来检查数据库引用节点下是否存在子节点?如果没有子级,我们应该能够相应地更新 UI。
到目前为止,我们没有办法做到这一点,除非我们将EventListener
单独附加到 Ref 节点并检查DataSnapshot
是否有任何孩子,这只是我认为的开销、冗余任务。
任何帮助都非常感谢。谢谢!
如果我理解您的问题,那么您在 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
}
(模型(是 POJO 类的名称。
希望对您有所帮助。