8motions Posté(e) 10 novembre 2010 Posté(e) 10 novembre 2010 Bonjour, J'ai créé une classe qui a besoin d'accéder aux ressources graphiques de l'application de tel sorte que si j'importe cette classe dans 2 projets différents les valeurs seront customisées. Malheureusement je n'ai pas trouvé la ligne magique (si elle existe) pour y arriver. Pour le moment je passe le context à la création de mon objet mais cela me pose des problèmes pour le rendre du coup Parcelable (context ne l'étant pas...) Voici mon bout de code : public class Toto implements Parcelable { private static Bitmap defaultSmallPic; private Context context; private Bitmap smallPic; public Toto(Context context) { this.context = context; } public Toto(Parcel in) { readFromParcel(in); } public Bitmap setSmallPic(Bitmap B) { smallPic = b; } public Bitmap getSmallPic() { if (this.smallPic == null) { if (Toto.defaultSmallPic == null) Toto.defaultSmallPic = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon); return Toto.defaultSmallPic; } return smallPic; } @Override public void writeToParcel(Parcel out, int flags) { out.writeParcelable(context, flags); // ERROR context not parcelable out.writeParcelable(smallPic, flags); } public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { public Toto createFromParcel( Parcel in) { return new Toto(in); } public Toto[] newArray( int size) { return new Toto[size]; } }; public void readFromParcel(Parcel in) { context = in.readParcelable(getClass().getClassLoader()); // ERROR smallPic = in.readParcelable(getClass().getClassLoader()); } } Une bonne âme pourrait-elle me donner quelques pistes de réflexion ? Le but étant si possible de virer la dépendance au context. Merci d'avance
naholyr Posté(e) 10 novembre 2010 Posté(e) 10 novembre 2010 Hélas, à part passer le contexte aux méthodes qui en ont besoin plutôt qu'au constructeur, pour que ton objet n'ait plus besoin de l'attribut context et soit à nouveau parcelable, je n'ai guère de proposition.
8motions Posté(e) 10 novembre 2010 Auteur Posté(e) 10 novembre 2010 Hélas, à part passer le contexte aux méthodes qui en ont besoin plutôt qu'au constructeur, pour que ton objet n'ait plus besoin de l'attribut context et soit à nouveau parcelable, je n'ai guère de proposition. C'est une idée oui, j'ai perdu pas mal de temps à chercher une autre alternative du coup je vais faire ça. Merci
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.