2012-09-30 11 views
1

J'ai trois activités, a, b, c. L'activité b va commencer l'activité c. Dans l'activité c quand je presse la arrière touche, l'activité c se terminera() et l'activité b montrera tout comme il a été laissé.Remote Terminer une activité Android

Ce n'est pas difficile, ce que je suis désireux de faire est quand je termine l'activité c, je veux terminer() l'activité b en même temps() afin de montrer l'activité un.

Quelqu'un at-il une idée sur la façon de terminer une activité d'une autre activité?

Répondre

1

Pour atteindre ce meilleur moyen est d'utiliser startActivityForResult et onActivityResult en conjugaison.

de l'activité A, commencer l'activité B, puis de B activité début C pour obtenir un résultat en utilisant startActivityForResult()

Dans l'Activité C, lorsque l'utilisateur déclenche avant ou détruire()

fixé un résultat qui informera A à terminer ainsi,

finition Call() en C.

Lorsque B reçoit ce résultat de C, B appelle finish() sur lui-même aussi bien.

Dans l'activité parent, tandis que le déclenchement de l'activité de l'enfant, utilisez la commande suivante: -

startActivityForResult(intent,variable(int)); 

et remplacer la méthode onActivityResult de la manière suivante dans l'activité B: -

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if(resultCode==2){ 
     finish(); 
    } 
} 

Maintenant , dans l'activité enfant C, remplacez onStop et onDestroy de la manière suivante: -

protected void onStop() { 
    setResult(2); 
    super.onStop(); 
} 

@Override 
protected void onDestroy() { 
    setResult(2); 
    super.onDestroy(); 
} 
+0

Merci, Bien travaillé. –

0

oui, Avant de passer à l'activité C terminer B. Activité Donc, la prochaine fois que vous cliquez sur le bouton ack directement, il se déplace à l'activité A comme le code follwong:

 Intent in = new Intent(B.class, C.class); 
     startActivity(in) 
     finish(); 
+0

Ce que je veux faire est de montrer l'activité B sur le bouton de retour et l'activité A sur le bouton OK. –

+0

à partir du code ci-dessus, lorsque vous cliquez sur le bouton Précédent, il redirigera vers l'activité A directement à partir de l'activité C –

+0

et aussi finish(); l'activité C quand vous cliquez sur le bouton Retour sinon vous pouvez obtenir quelques exceptions –

Questions connexes