Firebase 代码 运行 在其他一切之后

Firebase Code Running After Everything Else

我正在使用 Firebase 制作一个 Android 应用程序,在我的一项活动中,我需要先从 Firebase 读取数据,然后再 做任何其他事情。为此,我使用了 ValueEventListener。问题是,Android 运行首先 剩下的代码,然后 result/runs 监听器 [=12] 中的代码=] 方法。我知道这一点是因为我使用 Logs 进行了调试,结果确实比其余代码 运行s.

几秒后到达

我见过这样的例子,有人在另一个方法中查询后编写您想要 运行 的代码,然后在 onDataChange() 中调用该方法。我尝试这样做,还尝试将侦听器移动到另一个 class 并调用该方法,甚至尝试使用变量控制代码流,但没有任何效果。我能做什么?

顺便说一句,我不知道这是否会以任何方式影响但是,我依赖于 Firebase 结果的代码片段在 onStart() 方法中,所以我想 Android 会总是先 运行 onStart() 然后从侦听器获取结果。

谢谢!

ValueEventListeners 是异步的,因此它们不会 运行 首先。相反,尝试从 onDataChange() 函数内部调用一个函数来执行您想对侦听器执行的操作。