I'm trying to create public class MyClass<T extends Parcelable> implements Parcelable
. I'm having trouble implementing Parcelable
. Is it possible to create a generic class that implements Parcelable
? (Note that T
is bounded so that it also must implement Parcelable
).
I am running into trouble with the fact that the Parcelable interface requires a static variable: public static final Parcelable.Creator<MyParcelable> CREATOR
. Thus I cannot do public static final Parcelable.Creator<MyClass<T>> CREATOR
because MyParcelable<T>
is nonstatic.
André
I had similar issues with implementing Parcelable on a class with a generic, the first issue was the same as what you were experiencing:
The second was to read in a Parcelable object you need access to the
ClassLoader
which cannot be gotten fromT
due to type erasure.The class below is an adaption of a class I am using in production which overcomes both issues. Note: I have not tested this class specifically, so let me know if you have any issues.