Search code examples
androidfirebasefirebaseui

DataSnapshot is missing a constructor with no arguments


I am implementing Firebase Recyclerview UI in my application. I have implemented a recyclerview adapter and it shows me following exception. Following is my adapter code :

FirebaseRecyclerAdapter<DataSnapshot, MyHolder> recyclerAdapter = new FirebaseRecyclerAdapter<DataSnapshot, MyHolder>(
                DataSnapshot.class,
                R.layout.row_slots,
                MyHolder.class,
                databaseReference.child("slots").child(uid).child(dayOfWeek).child("time")
        ) {
            @Override
            protected void populateViewHolder(MyHolder viewHolder, DataSnapshot model, int position) {

                System.out.println("Key : "+model.getKey());

            }

        };

It is showing following exception : enter image description here

How can I get a snapshot value using FirebaseRecyclerAdapter?


Solution

  • firebaser (and author of the FirebaseUI adapters) here

    Lots of good answers already. I'd indeed typically recommend creating a Java class that represents your data objects.

    But if you're intent on using a DataSnapshot, you can override FirebaseRecyclerAdapter.parseSnapshot to handle the "conversion":

    @Override
    protected ChatMessage parseSnapshot(DataSnapshot snapshot) {
        return snapshot;
    }