J'ai une activité de préférences où je peux changer la langue et le thème de mon application. De là, je retourne à l'activité précédente via la touche Retour, et je veux recréer l'activité.Est-ce que onSaveInstanceState doit enregistrer le "enabledness" des vues?
J'ai réussi à le faire en réinitialisant la disposition en onResume
et en appelant également onRestoreInstanceState
à partir de là. Toutes les vues sont restaurées correctement, avec des cases à cocher si nécessaire, des édits remplis de textes que j'ai laissés là auparavant.
Mais j'ai également un bouton qui est initialement désactivé, et devient activé seulement quand un bouton radio est vérifié. Le problème est le suivant: je vérifie le bouton radio, le bouton est activé. Ensuite, je vais dans les paramètres, change le thème et retourne à la première activité. Quand j'y arrive, le radiobutton est restauré comme vérifié, mais le bouton est désactivé.
Il semble donc que l'état activé/désactivé n'est pas enregistré dans l'ensemble, ce qui semble contre-intuitif. Et je n'ai pas trouvé de code dans la source Android qui fait cela aussi. Ai-je manqué quelque chose, ou dois-je écrire mon propre code pour cela?
EDIT: BTW, l'état est sauvegardé uniquement pour les vues qui ont des identifiants. Et ce bouton en a un, je le garantis :)
Bien sûr que oui, mais j'ai beaucoup d'activités avec un comportement similaire, et j'aimerais avoir une solution kill-em-all. Voyons voir si des idées surgissent. –