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:

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