Я бы хотел, чтобы в моем классе данных был реализован Parcelable, чтобы его можно было разделить между операциями, однако для этого также нужна ссылка на Context, чтобы поля можно было сохранить в 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, также ссылается на Context, чтобы сохранить его в SQLiteDatabase?