2010-01-16 1 views
4

J'ai une activité qui permet à l'utilisateur de sélectionner un numéro de téléphone. Naturellement, j'aimerais que ma classe se souvienne de l'identifiant du contact sélectionné, alors je l'enregistre dans un champ de cours. Toutefois, lorsque la méthode onActivityResult renvoie, ma variable de classe est réinitialisée. Voici ce que je suis en train de faire:Les variables de classe définies dans onActivityResult sont réinitialisées lorsque la méthode renvoie

Intent intent = new Intent(Intent.ACTION_PICK, People.CONTENT_URI); 
    startActivityForResult(intent, PICK_CONTACT); 

    ... 

    public void onActivityResult(int reqCode, int resultCode, Intent intent){ 
     super.onActivityResult(reqCode, resultCode, intent);  
     switch(reqCode){ 
      case(PICK_CONTACT): 
       if(resultCode == Activity.RESULT_OK){ 
        Uri contactData = intent.getData(); 
        Cursor c = managedQuery(contactData, null, null, null, null); 
        if(c.moveToFirst()){ 
         contactName = c.getString(c.getColumnIndexOrThrow(People.NAME)); 
         contactId = c.getInt(c.getColumnIndexOrThrow(People._ID)); 

     break; 

Quand je mis un point d'arrêt au sein de cette méthode, les valeurs de contactName et contactID sont comme je le pense, mais une fois que la méthode retourne, les valeurs s'en quelque sorte remis à leur par défaut. Clairement, il me manque quelque chose, mais je ne suis pas sûr de ce que je fais mal ou de l'oubli.

Merci!

Iva

+0

Vous vous demandez si vous êtes en mode de développement et peut-être Rails est rechargeant définition de la classe à chaque fois? –

Répondre

Questions connexes