2

Parcelableインターフェイスを使用して状態をシリアル化する機能を持つジェネリックスを使用してクラスを作成しようとしています。問題は、クラスに単一のパラメーター(Parcel)を持つコンストラクターが含まれている必要があることですが、私の場合は、追加のパラメーターを持つクラスを作成する必要があります。その上、Parcelable.Creatorはジェネリックを使用することを許可していません。

次に例を示します。

public class Sample<T> {

...

public Sample(Context ctx, SomeInterface iface, Parcel parcel) {...}

...

}

それを行うためのベストプラクティスは何ですか?

4

1 に答える 1

0

解決策は既に見つかりました - オブジェクトの状態に関連するすべてのメンバーを別の Parcelable クラスに移動し、次のコンストラクターを追加しました。

public Sample(..., ParcelableState state)

于 2010-05-20T06:41:01.487 に答える