Jump to content

Desire: variables se réinitialisent apres un startActivityForResult


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...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...