8motions Posté(e) 10 novembre 2010 Share 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
naholyr Posté(e) 10 novembre 2010 Share 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
8motions Posté(e) 10 novembre 2010 Auteur Share 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.