Aller au contenu

Desire: variables se réinitialisent apres un startActivityForResult


Profete162

Recommended Posts

Salut à tous,

je suis en train de me prendre la tête sur un comportement bizarre d'Android, seulement sur le Desire...

J'ai un code assez simple, et un comportement étrange qui se passe seulement sur mon Desire:

Prenons mes 2 activités A et B:

Pour simplifier, l'activité A choisis une image dans une liste, la B, du texte dans une liste et au retour de la B, l'activité A me mixe l'image et le texte

Le truc, c'est que je fais ce code:

(newIcon est un Bitmap global)

                 Log.i(TAG,"newicon is set to "+newIcon);
                        Intent intent = new Intent();
                        intent.setClass(ActivityB.this, ActivityPickerActivity.class);
                        startActivityForResult(intent, ACTIVITY_B);

et il m'indique bien:" newicon is set to android.graphics.Bitmap@46591ce0"

Quand je reviens, je fais simplement:

    @Override
   protected void onActivityResult(int requestCode, int resultCode, Intent result) {
       if (resultCode != RESULT_OK) {
           return;
       }

       switch (requestCode) {
       case ACTIVITY_B:
           myresult=result;
           Log.i(TAG,"new icon: "+newIcon);
           myresult.putExtra(Intent.EXTRA_SHORTCUT_ICON, newIcon);
           setResult(RESULT_OK, myresult);
           finish();
           break;

       }
   }

et là, il m'indique "new icon: null"

J'ai bien fait une recherche dans tout mon code, newIcon n'est utilisé que dans ces lignes là!

Comment cette valeur a-t-elle pu se resetter et pourquoi est ce que cela fonctionne sur tous mes téléphones et pas sur le Desire?

Y'aurait-il une optimisation de la gestion de la mémoire qui fait qu'il oublie tout?

Je suis un peu perdu...

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...