Почему Preferences.getString ("key", "DEFAULT") всегда возвращает "DEFAULT"? - PullRequest
9 голосов
/ 06 марта 2012

У меня есть user_preferences.xml в моем каталоге xml.PreferencesActivity использует этот файл для создания активности пользовательских предпочтений .. и это работает.Все, что пользователь выбирает здесь, сохраняется.Но я не могу получить значение, выбранное пользователем.

Когда я использую ...

    SharedPreferences preferences = getSharedPreferences("user_preferences.xml", 0);    
    String mapTypeString = preferences.getString("map_type_pref_key", "DEFAULT");

... mapTypeString всегда "DEFAULT".

Кажется, что мой user_preferences.xml не найден, когда я создаю экземпляр объекта SharedPreferences.Но PreferencesActivity находит это, конечно.Итак, что мне не хватает?

Большое спасибо!

Ответы [ 2 ]

13 голосов
/ 06 марта 2012

измените свой код на:

 SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);   
 String mapTypeString = preferences.getString("map_type_pref_key", "DEFAULT");
0 голосов
/ 01 августа 2014

Вы должны подтвердить настройки после его редактирования.

SharedPreferences preferences = getSharedPreferences("user_preferences.xml", 0);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("map_type_pref_key", "blah_blah");
editor.commit();
...