我正在尝试创建具有泛型的类,该泛型将能够使用Parcelable接口序列化其状态。 问题是类必须包含带有单个参数的构造函数 - Parcel,但在我的情况下,我需要创建带有其他参数的类。 此外,Parcelable.Creator不允许使用泛型。
以下是一个例子:
public class Sample<T> {
...
public Sample(Context ctx, SomeInterface iface, Parcel parcel) {...}
...
}
这样做的最佳做法是什么?
答案 0 :(得分:0)
已经找到解决方案 - 我将与对象状态相关的所有成员移动到单独的Parcelable类中,并添加了以下构造函数:
public Sample(..., ParcelableState state)