我需要返回从文档快照中检索到的值。我可以在LOG中看到正确的值,但是由于它超出范围,并且仅在onComplete中,因此无法访问它。
你能帮忙吗?
int
答案 0 :(得分:0)
在 Log.d 之后返回:
Log.d(TAG, "DocumentSnapshot data: " + document.getString("coEmail"));
return document.getString("coEmail");
答案 1 :(得分:0)
数据是从Firestore(和大多数云API)异步加载的,并且在执行此操作时,您的主要代码将继续。这意味着您的return coEmail
现在可以在coEmail = document.getString("coEmail")
之前运行,即使您要解决范围问题。
解决方案是确保所有需要数据的代码都在onComplete
方法内部或从那里调用。请参阅更长的示例:How to check a certain data already exists in firestore or not或Firestore OncompleteListener