yoanpg
Messages postés156Date d'inscriptiondimanche 15 février 2009StatutMembreDernière intervention20 janvier 2024
-
22 févr. 2021 à 10:33
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023
-
11 mars 2021 à 11:56
Bonjour à tous,
Je développe une application Android en java.
J'ai ma MainActivity qui crée un intent:
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra(RC_SHARE, "blabla");
startActivity(intent);
Dans ma MainActivity j'ai un second thread. Dans ce thread, je voudrais changer le texte d'un TextView de ma SecondActivity.
Je n'ai pas trouvé comment appeler une fonction depuis un autre intent. putExtra ne fonctionne pas dans mon cas, car je veux pouvoir modifier la TextView plus tard, pas à la création de l'intent.
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 11 mars 2021 à 11:56
Salut,
Je te conseil de regarder le lifecycle des activity, parce que au moment où tu vas faire le startActivity de ton intent vers SecondActivity, l'activity MainActivity sera inopérante.
Si tu veux récup le texte que tu as placé au moment de la création de ton intent tu peux dans SecondActivity faire:
Maintenant, si tu veux récup une donnée à l'issue du traitement dans SecondActivity, remplace ton startActivity par un startActivityForResult (+implémentation de onActivityResult) et dans SecondActivity au moment de la fin de ton activity il faudra que tu utilises au choix une des méthodes suivantes :
setResult(int,Intent) setResult(int)
Finalement, si tu veux lancer un traitement asynchrone entre ta première activity et la seconde tu peux toujours passer par des Service + BroadcastsReceiver .