我想让我的数据类实现Parcelable,以便它可以在活动之间共享,但是它也需要对上下文的引用,以便字段可以保存到SQLiteDatabase。实现需要上下文的可分类类
但是,这是一个问题,因为Parcelable.Creator方法createFromParcel只有一个参数Parcel。
public abstract class Record implements Parcelable {
protected Context context;
protected String value;
public Record(Context context) {
this.context = context;
}
public Record(Parcel parcel) {
this.value = parcel.readString();
}
public void save() {
//save to SQLiteDatabase which requires Context
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int flag) {
parcel.writeString(value);
}
public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
public Record createFromParcel(Parcel parcel) {
return new Record(in);
}
public Record[] newArray(int size) {
return new Record[size];
}
};
}
如何实现Parcelable的类还引用上下文,以便将其保存到SQLiteDatabase?
也许你可以使用(MyApp)getApplicationContext()来保存/读取MyApp extends Application中的动态数据。 – JAL 2011-05-24 19:11:06