Dites que j'ai 2 activités (ActivityOne et ActivityTwo). Comment appeler ActivityTwo d'ActivityOne? Alors, comment pourrais-je retourner à ActivityOne à partir d'ActivityTwo? Par exemple, j'ai une liste avec tous les contacts sur le téléphone hôte. Lorsque je tape sur un contact, une autre activité affiche des informations et permet d'éditer ce contact. Ensuite, je pouvais appuyer sur le bouton retour, et je revenais à l'état exact dans lequel se trouvait ActivityOne avant que j'appelle ActivityTwo. Je pensais à un objet d'intention, mais je ne suis pas sûr. Quelqu'un pourrait-il poster du code?Appeler d'autres activités dans une activité?
Répondre
Dans votre première activité (AcitvityOne), vous pouvez appeler
Intent intent = new Intent(this, ActivityTwo.class);
startActivityForResult(intent, CODE);
Ensuite, vous pouvez remplacer
public void onActivityResult(int reqCode, int resultCode, Intent data) {
pour recevoir le résultat de cette activité
Dans votre exemple, il semble que vous souhaiterez transmettre des données entre l'activité 1 et l'activité 2 (à savoir, la référence du contact que vous souhaitez modifier), vous devez donc utiliser un ensemble avec votre intention dans l'activité 1.
Intent myIntent = new Intent(this, ActivityTwo.class);
myIntent.putExtra("CONTACT", position);
this.startActivity(myIntent);
« CONTACT » est une clé et la position est une valeur (position aurait été définie auparavant, il pourrait être tout ce que vous voulez qu'il soit, par exemple un entier. La façon dont vous récupériez est légèrement différent en fonction sur quel type il est, notez le getInt() dans le code Activity Two ci-dessous).
Et dans l'activité Deux, en onCreate()
Bundle extras = getIntent().getExtras();
if (extras != null) {
contact = extras.getInt("CONTACT");
/**Do what you want with the integer value you have retrieved**/
}
Quant à votre autre question, le bouton de retour supprime l'activité en cours à partir du haut des tâches pile et donc, vous revenez à l'activité précédente, normalement dans le même état que vous l'avez laissé. Toutefois, si le téléphone est à court de mémoire, Android peut tuer un processus ou une activité, il est donc théoriquement possible que votre activité précédente ne s'affiche pas exactement dans le même état que vous l'avez laissé. Si vous avez des données importantes, vous devez les enregistrer avant de lancer l'activité deux. Si vous voulez simplement revenir à l'activité un dans le même état pour la convivialité, alors il est bon de compter sur le bouton de retour.
- 1. Début Activité et effacer l'historique des activités
- 2. Comment terminer une série de sous-activités ouvertes d'une activité?
- 3. Ajout de nouvelles activités à une activité tabulée
- 4. Activités Design dans Android?
- 5. Plusieurs activités de carte dans une application
- 6. Android: appeler une méthode d'un service à une activité
- 7. Quelle fonction dois-je appeler sur un bouton Annuler dans une interface utilisateur (activité)?
- 8. Android: Comment un service démarrer une activité sans activités anciennes dans la pile derrière
- 9. Comment: plusieurs activités dans une même vue?
- 10. Activité InvokeWorkflow dans une activité de réplicateur
- 11. Comment appeler une activité d'une classe extension Overlay
- 12. Comment partager une vue entre plusieurs activités
- 13. Activités Android UI persistance
- 14. Identifier une activité sur Android?
- 15. sur les activités dans Android
- 16. Android TabHost - Activités dans chaque onglet
- 17. Terminer les sous-activités par programme
- 18. Activités Android synchrones
- 19. Comment démarrer une activité
- 20. Début Activité à travers une notification: Éviter les activités en double
- 21. Classes & Activités Android
- 22. Fermer la hiérarchie des activités dans Android
- 23. Notifier d'autres activités de la même application pour la terminer d'une activité
- 24. Activités et vues Android
- 25. Android - Activités vs Vues
- 26. même session avec plusieurs activités SendActivity dans WF
- 27. WF 3.5 activités en état
- 28. Comment réutiliser une activité sur une pile
- 29. Accès à l'élément sur une autre activité
- 30. Activité dans Android
Si vous n'avez pas besoin des résultats de 'ActivityTwo', vous pouvez utiliser' startActivity() 'et ignorer l'implémentation de' onActivityResult() '. – CommonsWare