2011-11-06 14 views
11

Korzystanie PreferenceActivity, Android automatycznie zapisuje proste preferencje, takie jak pola wyboru są zaznaczone itd. Mam kilka pytań:Korzystanie niż domyślne preferencje w PreferenceActivity

1 - skąd te preferencje zostaną zapisane? Czy jest to ten sam plik preferencji, który zwraca PreferenceManager.getDefaultSharedPreferences (kontekst)?

2 - czy istnieje sposób na użycie zestawu preferencji różnicowych? To znaczy. z context.getSharedPreferences (String name, int mode) podajesz ciąg znaków, aby zidentyfikować określony zestaw preferencji. Czy jest możliwe zapisanie preferencji z PreferenceActivity w zestawie preferencji zwróconych w ten sposób?

Dzięki z góry, Barry

+0

hii czy masz na to odpowiedź –

+0

Nie, obawiam się, że nie. – barry

Odpowiedz

12

Tak, to możliwe.

Wystarczy popatrzeć na to: http://idlesun.wordpress.com/2011/04/08/how-to-make-preferenceactivity-use-non-default-sharedpreferences/#comment-36

public class MyPreferencesActivity extends PreferenceActivity { 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     PreferenceManager prefMgr = getPreferenceManager(); 
     prefMgr.setSharedPreferencesName("my_preferences"); 
     prefMgr.setSharedPreferencesMode(MODE_WORLD_READABLE); 

     addPreferencesFromResource(R.xml.preferences); 
    } 
} 

addPreferencesFromResource() muszą być wywoływana po setSharedPreferencesName()!

+0

Niebezpieczeństwo połączeń ... Zaktualizowali lokalizację do http://idlesun.blogspot.com/2012/12/how-to-make-preferenceactivity-use-non.html - link dodaje tylko * trochę * do postu tutaj ... @stephane opublikował ważny kod. :) –

Powiązane problemy