I am getting an error when I am trying to query a document from cloud firestore

Viewed 20

The app fails once it reaches the query instantiation where

Query query = FirebaseFirestore.getInstance() .collection("Events") .orderBy("data");

, because I get the error of:

Inconvertible types; cannot cast 'java.util.List<java.lang.String>' to 'java.util.Collections.SingletonList'

I don't know how to fix it.

I would prefer to use the Recycler Option but if push comes to shove I can change it I just been stuck on this for a few days and need some help.

public class general_events extends Fragment implements
    SwipeRefreshLayout.OnRefreshListener    
{
    // Fire base and viewing event references

    private FirebaseFirestore db = FirebaseFirestore.getInstance();
    private CollectionReference eventRef = db.collection("Events");
    private EventAdapter adapter;

    //widgets
    private RecyclerView recyclerView;
    private SwipeRefreshLayout eventSwipe;

    public static general_events newInstance() {
        general_events fragment = new general_events();
        Bundle args = new Bundle();
        return fragment;
    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
                             @Nullable Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fragment_general_events, container, false);    

        Query query = FirebaseFirestore.getInstance()
                .collection("Events")
                .orderBy("data");

        FirestoreRecyclerOptions<Event> options = new FirestoreRecyclerOptions.Builder<Event>()
                .setQuery(query, Event.class)
                .build();
        adapter = new EventAdapter(options);
        recyclerView =view.findViewById(R.id.recycle);
        recyclerView.setLayoutManager(new LinearLayoutManager(getContext(), RecyclerView.VERTICAL, false));
        recyclerView.setAdapter(adapter);
        return view;
    }

    @Override
    public void onStart() {
        super.onStart();
        adapter.startListening();
    }

    @Override
    public void onStop() {
        super.onStop();
        adapter.stopListening();
    }

    public void onRefresh() {
        onStop();
        onStart();
        eventSwipe.setRefreshing(false);
    }

Here is what my firestore database looks like. 1

0 Answers
Related