J'ai 2 activités. Activité A et Activité B. Les deux s'appelant bien que l'intention. L'activité A appelle l'activité B. L'activité B accède à la base de données et la renvoie à l'activité A via putExtra () et getExtra ().
Maintenant mon activité A est déclarée comme ça android: launchMode = "singleTask"
Quand je reviens à l'activité A, je veux mal'activité A doit être mise à jour ou actualisée automatiquement. Mais, à mon grand étonnement, ce que j’ai compris lors du débogage, c’est que si je déclare une activité sous le nom launchMode = "singleTask", l’écran situé en haut de la pile apparaît alors. Cela ne va pas réellement dans le code.
Le concept que j'ai compris est-il correct?
La solution que je vois est un bouton de rafraîchissement eten un clic, accédez au code et à l'écran de mise à jour. Mais je ne veux pas faire ça. Pensez-vous qu'il existe une autre alternative? Je ne veux pas changer launchMode = "singleTask"
Merci d'avance.
Réponses:
0 pour la réponse № 1Essayer startActivityForResult(intent);
et pendant que vous avez fini en B setResult(RESULT_OK);
et finish();
l'activité B, et en A onActivityResult(int,int,intent);
attraper le code de résultat s'il s'agit de RESULT_OK mettre à jour votre A.
0 pour la réponse № 2
Peu importe le mode de lancement, lorsque vous passez de l'activité B à l'activité A, la méthode onResume () doit être appelée. Vous pouvez y mettre votre code d'actualisation pour que votre activité soit mise à jour.
0 pour la réponse № 3
placez votre partie d'actualisation dans la méthode onResume. Une fois l'activité B terminée, votre méthode onResume sera invoquée dans l'activité A.