0

Caused by: java.lang.IllegalArgumentException: Platform java.lang.Class annotated [] requires explicit JsonAdapter to be registered

I get the above error when using a RealmList with Moshi.

public class MenuModel implements RealmModel
{
    @Json(name = "menugroups")
    private RealmList<MenuGroupModel> menugroups = null;
}

I have researched this a bit and found the following:

https://github.com/realm/realm-java/issues/2711

The solution there says I need to use a RealmListAdapter. I have copied the code to my project. I, however, have no idea how and where to implement this adapter.

How do I use it?

Asim
  • 6,962
  • 8
  • 38
  • 61

1 Answers1

1

Go here: Regalia Moshi

Copy both RealmListAdapter and RealmListAdapterJsonFactory to your project (or use the linked project). Add the adapter to your moshi like this:

Moshi moshi = new Moshi.Builder()
.add(new RealmListJsonAdapterFactory())
.build();

Further usage, if you're using Retrofit:

Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(API.ENDPOINT)
            .addConverterFactory(MoshiConverterFactory.create(moshi))
            .build();
Asim
  • 6,962
  • 8
  • 38
  • 61