Actualiser l'activité Android quand il y retourne
J'ai besoin d'un peu d'aide avec l'actualisation de l'une de mes activités dans mon application. Je suis l'aide de l'onglet activité de l'hôte et de connexion à des services web et de télécharger des données à partir d'un de mes activités enfant. Quand je presse le bouton de synchronisation dans mon activité enfant, je commence une nouvelle activité qui n'est pas dans l'onglet d'accueil et lorsque la synchronisation est terminée, il retourne à celle du parent de l'enfant (activité). La chose que je veux réaliser est d'actualiser l'activité lorsque je serai de retour en arrière. Comme je l'ai vérifié sur internet, j'ai trouver que la meilleure option pour le faire est d'utiliser startActivityForResult
,mais je ne comprends pas vraiment comment l'utiliser et comment faire pour actualiser l'activité lorsque j'ai reçu le résultat de la production de l'activité.
Si quelqu'un peut m'aider, je serai vraiment heureux.Merci!
EDIT:
Je suis en utilisant ce code et il n'est même pas en montrant le Journal en onActivityResult
MyCollectionId.class :
Intent intent = new Intent(MyCollectionId.this, Synchronization.class);
intent.putExtra("process", 2);
startActivityForResult(intent, 1);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==RESULT_OK){
Log.e("","OnActivityResult");
Intent refresh = new Intent(this, MyCollectionId.class);
startActivity(refresh);
this.finish();
}
}
Synchronization.class :
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
setResult(RESULT_OK,intent);
finish();
source d'informationauteur Android-Droid
Vous devez vous connecter pour publier un commentaire.
sur le bouton de presse:
Puis dans la même classe d'Activité:
La Synchronisation de l'Activité:
Une autre façon délicate pour ce faire est juste de démarrer votre activité sur
onRestart()
Cela devrait faire l'affaire en fait. (Dans ce code, je suis en montrant la façon dont vous le faites lorsque vous êtes en utilisant une mesure TabActivity manager.)
Vous devez gérer le résultat de l'activité que vous avez commencé avec "startActivityForResult" dans une activité parent dans une méthode:
Et selon le résultat, vous pouvez simplement appeler de nouveau un code qui est responsable pour montrer les informations de votre activité parent (peut-être vous mettre dans onResume() la méthode ou comme ça).
Je vous suggère de déplacer toute la logique de la responsabilité de l'information de rendu d'une méthode distincte. Et à l'appeler après que vous recevez le résultat. Au lieu de redémarrer votre activité parent.
Si vous commencez votre deuxième activité avec la méthode
startActivityForResult
lorsque vous revenez à la première activité,onActivityResult
de la première activité sera appelée.Si vous la remplacez, vous pouvez actualiser votre activité à partir de là.
Voir plus d'informations ici et ici
Appel de l'activité de l'enfant à l'aide de startActivityForResult avec demande de code,SetResult de l'enfant de l'Activité. Et quand l'enfant activité est terminée, vous pouvez mettre à jour vous parent de l'activité dans la méthode onActivityResult
Voici un exemple http://rahulonblog.blogspot.com/2010/05/android-startactivityforresult-example.html