gpt4 book ai didi

java - 如何从 OnSuccessListener() 获取数据

转载 作者:行者123 更新时间:2023-12-01 17:44:22 26 4
gpt4 key购买 nike

public class MainActivity extends AppCompatActivity {


private static final String TAG = "100";
FirebaseFirestore db;

String checkCode;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

db= FirebaseFirestore.getInstance();

db.collection("Users")
.whereEqualTo("level", "admin")
.get()
.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
if (!queryDocumentSnapshots.isEmpty()) {
List<DocumentSnapshot> list = queryDocumentSnapshots.getDocuments();
for (DocumentSnapshot d : list) {
checkCode = (String) d.get("kode");
Toast.makeText(MainActivity.this, "From inside : "+checkCode, Toast.LENGTH_LONG).show();
}
}
}
});
Toast.makeText(MainActivity.this, "From outside : "+checkCode, Toast.LENGTH_LONG).show();
}
}

我仍然困惑如何从cloud firestore获取数据。所以我尝试编写一个简单的代码来从那里获取数据。我输入了1111代码。

运行程序后,里面的 toast 给了我:

From inside : 1111 

但是外面的 toast 给了我:

From outside : null

这是为什么呢?我该如何解决它?

最佳答案

您正在对 Firestore 进行异步调用。当您显示 Toast 且 checkCode 仍为 null 时,检索数据时会调用 OnSuccessListeneronSuccess() 方法。您可以在 onSuccess() 内移动 toast,或者仅使用 Log 打印到控制台。

关于java - 如何从 OnSuccessListener<QuerySnapshot>() 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57329508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com