Xmlディレクトリにuser_preferences.xmlがあります。 PreferencesActivityは、このファイルを使用してユーザー設定アクティビティを作成します。これは機能します。ここでユーザーが選択したものはすべて保持されます。しかし、ユーザーが選択した値を取得できません。
私が使うとき...
SharedPreferences preferences = getSharedPreferences("user_preferences.xml", 0);
String mapTypeString = preferences.getString("map_type_pref_key", "DEFAULT");
... mapTypeStringは常に「DEFAULT」です。
SharedPreferencesオブジェクトをインスタンス化したときに、user_preferences.xmlが見つからないようです。しかし、もちろん、PreferencesActivityはそれを見つけます。だから、私は何が欠けていますか?
どうもありがとう!
コードを次のように変更します。
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String mapTypeString = preferences.getString("map_type_pref_key", "DEFAULT");
編集後、設定をコミットする必要があります。
SharedPreferences preferences = getSharedPreferences("user_preferences.xml", 0);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("map_type_pref_key", "blah_blah");
editor.commit();