Comment puis-je redémarrer une activité Android ? J’ai essayé ce qui suit, mais l’activité se ferme tout simplement.
Réponses
Trop de publicités?J'ai fait mon thème switcher comme ceci:
Intent intent = getIntent();
finish();
startActivity(intent);
En gros, je suis appelant finish()
première, et je suis en utilisant exactement la même intention cette activité a commencé. Qui semble faire l'affaire?
Mise à JOUR: Comme l'a souligné par Ralf ci-dessous, Activity.recreate()
est la manière d'aller de l'API de 11 et au-delà. C'est préférable si vous êtes dans une API11+ environnement. Vous pouvez toujours vérifier la version actuelle et d'appeler l'extrait de code ci-dessus si vous êtes dans l'API de 10 ou au-dessous. (S'il vous plaît n'oubliez pas de upvote Ralf réponse!)
Depuis le niveau 11 (Honeycomb) de l’API, vous pouvez appeler la méthode recreate() de l’activité (Merci à cette réponse).
La méthode de recreate() agit comme un changement de configuration, donc votre onSaveInstanceState() et onRestoreInstanceState() méthodes sont aussi appelées, le cas échéant.