Potoman Posté(e) 12 août 2010 Share Posté(e) 12 août 2010 Voilà, je dévellope une simple ListView d'image. Jusque là, rien de très difficile. Les images sont téléchargé depuis internet. Oui mais voilà, ce que je souhaite, c'est que lorsque l'on tourne l'écran, le script n'ai pas à recharger les images depuis le web. J'arrive donc à mettre mes variables en cache, et à détecter si elle on déjà été télécharger. j'enregistre tout mes images dans : static List listImage; le problème, c'est que quand je tourne mon écran, le contenu redeviens null. Alors que mon autre variable qui contient les url, ne change pas : static List listUrl; On dirai qu'android me vide les variables qui contienne des images. Pourrais t-on m'aider ? Cordialement. Lien vers le commentaire Partager sur d’autres sites More sharing options...
DavLink Posté(e) 12 août 2010 Share Posté(e) 12 août 2010 Salut, L'activité est détruite puis recréée lorsque l'écran change d'orientation. Jette un oeil à onRetainNonConfigurationInstance(), cette méthode permet de mettre de côté des données pendant la procédure. Tu les récupères ensuite avec getLastNonConfigurationInstance() au redémarrage de l'activité. Plus de détails -> http://developer.android.com/resources/articles/faster-screen-orientation-change.html Lien vers le commentaire Partager sur d’autres sites More sharing options...
Potoman Posté(e) 23 août 2010 Auteur Share Posté(e) 23 août 2010 Déjà désolé pour le retard de la réponse, mais j'ai fait pleins d'autre chose sur mon appli. Merci, alors j'ai regardé, et je pense avoir compris comment ça marché. Mais y me reste un problème. Moi, je veut sauvegarder deux liste. une liste de bitmap : List Et une liste d'une class que j'ai créé : List Alors je test ce code pour voir si je récupére les deux listes, mais ça plante :'( : @Override public Object onRetainNonConfigurationInstance() { //final LoadedPhoto[] list = new LoadedPhoto[numberOfPhotos]; final List list = myListImage; //keepPhotos(list); final List listBis = myLst; final List allList = new ArrayList(); allList.add(list); allList.add(listBis); return allList; } private boolean loadPhotosAfterToggleScreen() { @SuppressWarnings("unchecked") List data = (List) getLastNonConfigurationInstance(); // The activity is starting for the first time, load the photos from Flickr if (data == null) { // mTask = new GetPhotoListTask().execute(mCurrentPage); return false; } else { // The activity was destroyed/created automatically, populate the grid // of photos with the images loaded by the previous activity /* final LoadedPhoto[] photos = (LoadedPhoto[]) data; for (LoadedPhoto photo : photos) { addPhoto(photo); }*/ this.myListImage = (List) data.get(0); this.myLst = (List) data.get(1); //myListImage = (List) data; return true; } } Et je comprend pas... On doit envoyer un object, j'ai donc pas le droit de faire une liste d'objet ? Cordialement nan c'est bon, j'ai trouvé cette petite page qui m'avance bien et j'ai réglé mon problème ! ^^ http://code.google.com/p/androidmudclient/source/browse/trunk/src/com/andmudclient/andmudclient.java?spec=svn3&r=3 Merci à tous. 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.