如果为空,如何隐藏 Firestore RecyclerView
Posted
技术标签:
【中文标题】如果为空,如何隐藏 Firestore RecyclerView【英文标题】:How to hide a Firestore RecyclerView if empty 【发布时间】:2021-01-18 10:22:49 【问题描述】:我是 android 开发新手。目前,我正在使用 Firestore UI 来填充 RecyclerView。它工作正常但现在我想动态隐藏/显示 RecyclerView 如果它不包含数据或插入某些东西。覆盖我的适配器类中的 onDataChanged 方法,我注意到我可以正确地动态检测我的适配器中的项目数是否为 0。如何使用它使我的回收站视图可见或不可见?
【问题讨论】:
请不要发布您的代码截图或其他文本内容。而是发布实际文本,并使用 Stack Overflow 的格式化工具对其进行标记。您还需要向我们展示更多背景信息。 【参考方案1】:一种简单的方法是告诉回收器视图隐藏自己:
mRecyclerView.setVisibility(getItemCount() != 0 ? View.VISIBLE : View.GONE);
【讨论】:
重点是如果我检查Adapter类之外的元素个数(比如在我的RecyclerView被定义和使用的类中),总是会导致没有元素... @PCNF 这是预期的行为,因为数据是从 Firebase 异步加载的。为了得到项目的数量,你需要register an observer。除此之外,您还可以使用onChanged() 方法来达到同样的目的。 @AlexMamo 正如我已经说过的,正如您在链接到我的答案中所说的那样,我覆盖了适配器类中的 onDataChanged 方法(您在图片中看到的那个)。感谢您看到的代码,我可以实时正确地获取包含的元素数量。但是如何使用该方法隐藏主要活动中存在的 RecyclerView? @PCNF 只需 registering an observer。如果您不想使用此解决方案,可以创建自己的回调。 @AlexMamo 试图在该答案中实现相同的代码。它从未被触发...以上是关于如果为空,如何隐藏 Firestore RecyclerView的主要内容,如果未能解决你的问题,请参考以下文章