Me gustaría que mi clase de datos implemente Parcelable para que pueda compartirse entre Actividades, sin embargo, también necesita referencia a Contexto para que los campos puedan guardarse en SQLiteDatabase.Implementando Clase Parcelable que Requiere Contexto
Sin embargo, esto es un problema ya que el método Parcelable.Creator createFromParcel solo tiene un parámetro 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];
}
};
}
¿Cómo puede una clase que implemente Parcelable también hacer referencia al contexto para que se guarde en SQLiteDatabase?
Quizás pueda guardar/leer los datos dinámicos en la aplicación MyApp extends using (MyApp) getApplicationContext(). – JAL