Skip to content

How to retrieve arrays from FirebaseFirestore using Collections?

This is my Firestore database

                .whereEqualTo("Topic Name",message)
                .get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            public void onComplete(@NonNull Task<QuerySnapshot> task) {
                    for (QueryDocumentSnapshot snapshot : Objects.requireNonNull(task.getResult())) {
                        String value1 = snapshot.getString("QuestionName");
                        Toast.makeText(PublicVote.this, value1, Toast.LENGTH_SHORT).show();
                        q_tv1.setText("Question: "+value1);
        }).addOnFailureListener(new OnFailureListener() {
            public void onFailure(@NonNull Exception e) {
                Toast.makeText(PublicVote.this,e.getMessage(), Toast.LENGTH_SHORT).show();

Now here I want to retrieve Description and No. of Options which is saved in the form of an array, my code above prints other details of the data as well, with respect to the topic name selected hence I’ve used whereEqualTo(“Topic Name”, message)as my query(where the message is the topic I select). How to retrieve Description and No. of Options now in this. I can’t use DocumentReference because then I won’t be able to use whereEqualsTo. Please help!!!


To get the content of those two araays, please add the following two lines of code inside the for loop:

List<String> description = (List<String>) snapshot.get("Description");
List<String> noOfOptions = (List<String>) snapshot.get("Np. of Options");

Right after this line:

q_tv1.setText("Question: "+value1);

If you need each element within those arrays, create a for loop for each list and get the corresponding data.

The result in the logcat will be:

What's up?

For the first array, and:


For the second array.