2009-12-20 3 views

Répondre

4

Appelons l'activité mise en pause « A » et le « courant » Activité « B ». La méthode pour que B communique les résultats à A consiste à appeler A startActivityForResult() au lieu de startActivity(), et B à utiliser setResult() pour fournir la ou les valeurs de retour. A reçoit ensuite ces valeurs de retour dans onActivityResult().

3

dans votre activité actuelle, créer une intention

Intent i = new Intent(getApplicationContext(), PausedActivity.class); 
i.putExtra(key, value); 
startActivity(i); 

puis l'activité mise en pause, récupérer ces valeurs.

Bundle extras = getIntent().getExtras(); 
if(extras !=null) { 
    String value = extras.getString(key); 
} 

si les données sont complexes, essayez http://developer.android.com/guide/appendix/faq/framework.html#3

+0

merci pour la réponse. Je pense que ce code sera utilisé pour créer une nouvelle intention de PausedActivity. Je l'utilise pour terminer l'activité et créer une nouvelle activité. Il ne transmet pas de données à l'activité en pause. Mon code est légèrement différent: Intention intention = new Intention(); intent.setClass (CurrentActivity.this, NewActivity.class); intention.putExtra ("clé", "valeur"); startActivity (intention); this.finish(); Je veux passer une valeur directement de l'activité actuelle à l'activité en pause (activité précédente) sans nouvelle intention. Merci. – AndroiDBeginner

+0

Je crois que la réponse de commonsware.com est la meilleure façon de résoudre ce problème. votre alternative est de stocker les résultats dans une base de données et lorsque l'activité interrompue est reprise, vous récupérez ces résultats. – yanokwa

Questions connexes