Java 微调器与Firestore的document.getId不兼容
你知道为什么这样不行吗Java 微调器与Firestore的document.getId不兼容,java,android,firebase,spinner,google-cloud-firestore,Java,Android,Firebase,Spinner,Google Cloud Firestore,你知道为什么这样不行吗 mFirestore.collection("DR1") .document(UserID) .collection("Story") .get() .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() { @Override pu
mFirestore.collection("DR1")
.document(UserID)
.collection("Story")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (DocumentSnapshot document : task.getResult()) {
spinnerArray.add(String.valueOf(document.getId()));
}
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
}
}
});
在Firestore数据库调用for循环之前,一切正常。下拉列表上的默认测试选择,当我选择另一个条目时,Toast.maketext出现,选择显示在微调器上
再次感谢。之所以发生这种情况,是因为您没有在onComplete方法中定义SpinneArray,该方法具有异步行为。要解决此问题,请将spinnerray的声明移动到onComplete方法中。要显示记录,还需要在方法内部设置适配器。有关更多信息,请参阅我的答案。我还建议您观看此视频,以便更好地理解。谢谢,我刚刚通过您的视频观看了此视频。谢谢你这么做。明天晚些时候我会再做的。嘿,亚历克斯,我只是想告诉你,我已经按照你的建议做了。多谢!很高兴听到这个消息。干杯
spinnerArray.add("test");