Java 如何使用集合从FirebaseFirestore检索数组?

Java 如何使用集合从FirebaseFirestore检索数组?,java,android,arrays,firebase,google-cloud-firestore,Java,Android,Arrays,Firebase,Google Cloud Firestore,db.collection(“PublicFormDetails”) .whereEqualTo(“主题名称”,信息) .get().addOnCompleteListener(新的OnCompleteListener()){ @凌驾 未完成的公共void(@NonNull任务){ if(task.issusccessful()) { 对于(QueryDocumentSnapshot快照:Objects.requireNonNull(task.getResult())){ String valu

db.collection(“PublicFormDetails”)
.whereEqualTo(“主题名称”,信息)
.get().addOnCompleteListener(新的OnCompleteListener()){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful())
{
对于(QueryDocumentSnapshot快照:Objects.requireNonNull(task.getResult())){
String value1=snapshot.getString(“问题名称”);
Toast.makeText(PublicVote.this,value1,Toast.LENGTH_SHORT).show();
q_tv1.setText(“问题:+value1”);
}
}
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Toast.makeText(PublicVote.this,e.getMessage(),Toast.LENGTH_SHORT).show();
}
});
现在我想在这里检索描述和以数组形式保存的选项数量,我上面的代码还打印了与所选主题名称相关的数据的其他详细信息,因此我使用whereEqualTo(“主题名称”,message)作为我的查询(其中消息是我选择的主题)。
如何检索本文档中现在的选项说明和数量。我不能使用DocumentReference,因为那样我就不能使用Where equalsto。请帮忙

要获取这两个Aray的内容,请在for循环中添加以下两行代码:

List<String> description = (List<String>) snapshot.get("Description");
List<String> noOfOptions = (List<String>) snapshot.get("Np. of Options");
如果需要这些数组中的每个元素,请为每个列表创建一个for循环并获取相应的数据

logcat中的结果将是:

Hey
What's up?
对于第一个阵列,以及:

123
456

对于第二个数组。

您还可以使用模态类。查看此文档感谢您的快速响应@AlexMamo无法解析符号文档。我用的是QuerySnapshot,所以我想文档可能不起作用。对不起,我的错。请看我的最新答案。应该是
快照
,而不是
文档
。它现在起作用了吗?是的,它起作用了!!!!!非常感谢你!!很高兴听到它起作用了。不客气。
Hey
What's up?
123
456