Firestore在获取数据时显示加载指示符

时间:2017-12-13 18:16:05

标签: android android-fragments google-cloud-firestore

我正在尝试从Cloud Firestore数据库中检索用户的数据并将其显示在片段中。由于Firestore中的查询以异步方式工作,因此在从Firestore DB获取所有数据之前,将加载UI。如果查询速度不够快,我的片段的OnViewCreated方法会加载空数据。

避免此问题的最佳做法是什么?在查询处理过程中,我是否应该显示加载指示符?如果是这样,我怎么知道它什么时候结束?

此外,在User类中检索数据并在不同片段之间共享相同实例的最佳做法是什么?

1 个答案:

答案 0 :(得分:2)

要解决此问题,您需要在尝试从Cloud Firestore数据库获取文档时使用addOnCompleteListener。这意味着onComplete()方法被触发,因为它具有异步行为,您必须调用另一个方法或直接显示该方法中的UI元素,否则它将始终为null

还有另一种方法,即添加回调以便能够在该方法之外访问它。为此,我重新尝试潜入异步世界,并从post看到我的回答。这是为了在onDataChange()方法之外获取数据,但它几乎相同。

为获得最佳用户体验,您可以添加加载指示器,以便用户看不到空白屏幕。