2011-03-19 4 views

Répondre

3

Il n'y a aucune différence dans la façon dont vous obtenez et définissez SharedPreferences normalement et de le faire dans onResume. Ce que vous devrez faire en plus d'obtenir les préférences les plus récentes, est de mettre à jour tous les objets que vous avez dans le Activity qui utilisent des valeurs de préférence. Cela garantira que votre Activity fonctionne avec les valeurs les plus récentes.

Un exemple simple:

protected void onResume() { 
    super.onResume(); 
     getPrefs(); 

    //...Now update your objects with preference values   
} 

private void getPrefs() { 
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
    String myPref = prefs.getString("myPref", ""); 
} 
+0

Merci. Vous répondez a résolu mon problème. J'ai accidentellement appelé getDefaultSharedPreferences onCreate plutôt que OnStart. Je vous remercie. –

+1

Dans votre exemple, 'getPrefs()' est-il supposé renvoyer quelque chose? –

+0

'super.onResume()' DOIT être appelé à la dernière ligne de la méthode 'onResume()'. http://cs.dartmouth.edu/~campbell/cs65/lecture05/lecture05.html –