J'essaie de conserver une préférence booléenne en synchronisation avec une valeur dans un fournisseur de contenu, et de réussir à l'exception de ce problème. Lorsque je définis la préférence dans la méthode onResume()
(car la valeur a peut-être été modifiée dans le fournisseur de contenu), la case à cocher de la vue reflète toujours la valeur pré-onResume
. En ce qui me concerne, cette préférence pourrait être entièrement virtuelle et non persistante, mais si elle doit persister pour que les roues tournent, c'est bien aussi. L'objectif final est une case à cocher dans les préférences de mon application qui reflète et met à jour la valeur dans le fournisseur de contenu.mettre à jour la vue lorsque la préférence a changé dans PreferenceActivity.onResume (Android)
2
A
Répondre
0
Je soupçonne que le PreferenceActivity
définit d'abord la case à cocher dans la méthode onRestoreInstanceState()
, puis votre méthode onResume()
est appelée plus tard dans le cycle de vie. Bien que vous changiez la valeur de préférence, le code de synchronisation checkbox est déjà terminé.
Alors peut-être vous pouvez remplacer onRestoreInstanceState()
, mettre à jour la valeur de préférence, puis appelez super.onRestoreInstanceState()
en dernier.
Questions connexes
- 1. Comment mettre à jour un NSTableView lorsque sa source de données a changé?
- 2. Run méthode lorsque la préférence est mis à jour
- 3. Android - Obtenir la ligne ListView pertinente sur CheckBox a changé
- 4. Enregistrer la préférence d'application Android
- 5. Hibernate - collection enfant Identifiant changé dans la mise à jour
- 6. android Préférence
- 7. Détecter lorsque l'utilisateur a changé de mode d'édition dans CKEditor
- 8. Comment mettre à jour une vue secondaire?
- 9. Comment faire pour mettre à jour une base de données après un DataGridComboBoxColumn a changé?
- 10. Arrêter l'action dans la vue lorsque uinavigationcontroller a cliqué à la vue précédente sur l'iPhone
- 11. Préférence partagée Android
- 12. Mettre à jour Android ListActivity lorsque les données de la liste changent?
- 13. Mettre à jour la notification des appels manqués sur Android
- 14. Texte (TextBox) mis à jour perdu lorsque la vue grille passe à la page suivante
- 15. Comment mettre à jour une vue déroulante?
- 16. Comment mettre à jour l'interface utilisateur lorsque la méthode Invoke a échoué
- 17. Mettre à jour l'application android à distance
- 18. Comment mettre à jour SimpleAdapter sous Android
- 19. Android: préférence Style de
- 20. Valeur par défaut de la préférence Android
- 21. Mettre à jour la grille dans GridLayout
- 22. Comment mettre à jour l'écran sur Android?
- 23. Intention de diffusion lorsque l'état du réseau a changé
- 24. Comment être notifié lorsque la commande de la fenêtre ou la position sur Mac a changé?
- 25. La propriété .NET a changé de sensibilité
- 26. Drupal: Comment mettre à jour les champs d'affichage après avoir changé la base de données?
- 27. Dans la table MySQL mettre à jour 'a' enregistrer avec 'b' et 'b' avec 'a'
- 28. Mise à jour de la vue spark.components.List
- 29. formes enfants lents à tirer mdi lorsque la visibilité changé
- 30. Comment mettre à jour automatiquement Android: versionName?
Est-ce que onRestoreInstanceState() est appelé chaque fois que l'activité revient à la visibilité? J'ai eu l'impression que ça pouvait aller directement de onPause() à onResume(). – loganj
Pas de dés. Il semblerait que onRestoreInstanceState() ne soit pas appelé en revenant d'une pause. – loganj
Il semble qu'il n'y ait pas d'écouteur de changement enregistré avec 'SharedPreferences', donc quand vous éditez le' Preference' directement, la couche d'interface utilisateur n'en entend jamais parler. Je vais rester dessus. – loganj