2010-07-31 18 views

Répondre

0

Jetez un oeil à that post:

Pour lire ces préférences à partir du code, nous devrions créer une méthode GetPrefs(), que nous pouvons appeler la méthode onStart() . Lorsque nous l'appelons dans la méthode au lieu de onCreate(), nous pouvons être sûrs que le préférences charge lorsque nous les avons mis en et retourné à notre activité principale onStart(),

private void getPrefs() { 
       // Get the xml/preferences.xml preferences 
       SharedPreferences prefs = PreferenceManager 
           .getDefaultSharedPreferences(getBaseContext()); 
       CheckboxPreference = prefs.getBoolean("checkboxPref", true); 
       ListPreference = prefs.getString("listPref", "nr1"); 
       editTextPreference = prefs.getString("editTextPref", 
           "Nothing has been entered"); 
       ringtonePreference = prefs.getString("ringtonePref", 
           "DEFAULT_RINGTONE_URI"); 
       secondEditTextPreference = prefs.getString("SecondEditTextPref", 
           "Nothing has been entered"); 
       // Get the custom preference 
       SharedPreferences mySharedPreferences = getSharedPreferences(
           "myCustomSharedPrefs", Activity.MODE_PRIVATE); 
       customPref = mySharedPreferences.getString("myCusomPref", ""); 
     } 
+0

Merci pour votre réponse! En fait, mon problème est différent. Mon application a deux onglets. Dans la deuxième onglet, l'écran de préférences apparaît, parmi lesquelles figure la préférence de liste. Lorsque je choisis une option de la liste pour changer l'écran d'arrière-plan, je n'ai pas d'effet immédiat dans l'écran de préférences avec l'image de fond changée et quand je vais au premier onglet, je peux changer d'arrière-plan. écran) puis j'ai eu effet Je veux une réponse immédiate dans l'écran de préférence avec l'image de fond changée. J'espère que vous aurez ce dont j'ai besoin. pls suggèrent! – shobhit

0

faire votre activité de préférence implémente onPreferenceChangeListener, puis vous devez trouver la préférence par sa clé dans onCreate et enregistrer l'écouteur.

2
startDatePref = findPreference("time"); 

... 

    @Override 
    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, 
             Preference preference) { 
     if (preference == startDatePref) { 
      // your action 
     } 

     return super.onPreferenceTreeClick(preferenceScreen, preference); 
    }