Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Using Parceler 1.0.3 with Realm
// Specific class for a RealmList<Bar> field
public class BarListParcelConverter extends RealmListParcelConverter<Bar> {
public void itemToParcel(Bar input, Parcel parcel) {
parcel.writeParcelable(Parcels.wrap(input), 0);
public Bar itemFromParcel(Parcel parcel) {
return Parcels.unwrap(parcel.readParcelable(Bar.class.getClassLoader()));
// Abstract class for working with RealmLists
public abstract class RealmListParcelConverter<T extends RealmObject> extends CollectionParcelConverter<T, RealmList<T>> {
public RealmList<T> createCollection() {
return new RealmList<T>();
@Parcel(implementations = { BarRealmProxy.class }, value = Parcel.Serialization.BEAN, analyze = { Bar.class })
public class Bar extends RealmObject {
private String baz;
public void setBaz(String baz) {
this.baz = baz;
public String getBaz() {
return baz;
@Parcel(implementations = { FooRealmProxy.class }, value = Parcel.Serialization.BEAN, analyze = { Foo.class })
public class Foo extends RealmObject {
private RealmList<Bar> bars;
public void setBars(RealmList<Bar> bars) {
this.bars = bars;
public RealmList<Bar> getBars() {
return bars;

Hi, Thank you for the gist. Can you please tell me why RealmProxy class is not being created in my case?

Also the imports for are:

import android.os.Parcel;
import org.parceler.Parcels;


patloew commented Apr 6, 2016

I wrote a generic adapter which works for all RealmLists:

@patloew Hello i have tried your things which show an error : read/write generator for type io.realm.RealmList do you have any ideas of this? Thx

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment