2014-09-22 1 views
1

J'essaie actuellement d'envoyer des données d'une activité enfant à son activité parente. J'ai utilisé le startActivityForResult() pour aller à mon activité enfant. Cependant, je ne peux pas comprendre ce que je ferais pour mettre les données que je veux mettre à mon intention et faire en sorte que mon activité parentale le reçoive. J'ai regardé différents exemples en ligne mais je pense que cela ne fait que jeter la variable résultat.Précision sur l'envoi de données à l'activité précédente en utilisant startActivityForResult

Selon ma compréhension c'est ce que je quand je retourne mon activité enfant à l'activité parent:

  String somestring = "somevalue"; 
     Intent i = getIntent(); 

     setResult(RESULT_OK, i); 
     finish(); 

Je veux charger le contenu de la chaîne somestring pour elle pour revenir au parent activité. Comment puis-je le charger dans mon activité parente?

  startActivityForResult(intent, 1); 

Et enfin comment puis-je capturer les données de mon activité parent dans le onActivityResult?

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data){ 
    super.onActivityResult(requestCode,resultCode,data); 


} 

Répondre

4

vos données dans une intention, comme vous le feriez dans toute autre situation:

Intent intent=new Intent(); 
intent.putExtra("ComingFrom", "Hello"); 
setResult(RESULT_OK, intent); 
finish(); 

récupérer ensuite dans onActivityResult dans votre autre activité.

@Override 
public void onActivityResult(int requestCode,int resultCode,Intent data) 
{ 
    super.onActivityResult(requestCode, resultCode, data); 
    String extraData=data.getStringExtra("ComingFrom")); 
} 
Questions connexes