作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
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 时,检索数据时会调用 OnSuccessListener
的 onSuccess()
方法。您可以在 onSuccess()
内移动 toast,或者仅使用 Log
打印到控制台。
关于java - 如何从 OnSuccessListener<QuerySnapshot>() 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57329508/
我是一名优秀的程序员,十分优秀!