Java 我需要用返回函数解决这个概率错误

Java 我需要用返回函数解决这个概率错误,java,android,firebase,kotlin,google-cloud-firestore,Java,Android,Firebase,Kotlin,Google Cloud Firestore,当我调试它时,首先运行返回,然后运行mCode=document.get(“code”).toString() mCode是一个lateinit变量,因此当它返回时,mCode没有初始化,这是因为.addOnSuccessListener()和.addOnFailureListener()是异步方法,因此它们将在收到调用结果时执行 您可以做的是: ... .get().addOnSuccessListener(...{ override fun onSucess(docu

当我调试它时,首先运行返回,然后运行mCode=document.get(“code”).toString()


mCode是一个lateinit变量,因此当它返回时,mCode没有初始化,这是因为
.addOnSuccessListener()
.addOnFailureListener()
是异步方法,因此它们将在收到调用结果时执行

您可以做的是:

...
    .get().addOnSuccessListener(...{
        override fun onSucess(document: DocumentSnapshot) {
            onSuccessAction(document)
        }
    })
...

private fun onSuccessAction(document: DocumentSnapshot) {
    mCode = document.get("code").toString()
    if (code == mCode) {
        // Do anything...
    }
}


您好,请以文本形式发布代码,而不是屏幕截图。。这使得一个可以提供测试帮助并且图片不会在网络上停留很长时间,所以这个任务在未来可能会被扭曲。我尝试过它,但代码并不像预期的那样被识别。在这种情况下,读、、或。Vi que tuébr kss,mano,não foi;-;Esse Returno seria pra视图模型,一个有趣的estáno存储库。您可以使用可变的实时数据进行repositório pra viewmodel。一个变化无常的人,一个信息提供者。