阅读共享偏好

And*_*idM 17 android sharedpreferences

我正在使用我的Android应用程序的设置菜单的共享首选项.它工作得很好,但我不知道如何在我的代码上使用这些设置:

例如,如何使用所选语言并在另一个活动中使用它:

    <PreferenceCategory 
    android:title="General Settings"
    android:key="general_settings"

    >
    <ListPreference 
        android:key="language"
        android:title="Language"
        android:summary="Define the default language"
        android:defaultValue="Spanish" 
        android:entries="@array/Languages"
        android:entryValues="@array/LanguagesValues"

    />  
Run Code Online (Sandbox Code Playgroud)

Meh*_*mre 44

关于代码背后;

SharedPreferences prefs = this.getSharedPreferences("general_settings", Context.MODE_PRIVATE);
String lanSettings = prefs.getString("language", null);
Run Code Online (Sandbox Code Playgroud)


Oli*_*Oli 20

你必须设置和读取共享的pref设置.例如:

组:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = settings.edit(); 
                        editor.putString("language", language);
                        editor.commit();
Run Code Online (Sandbox Code Playgroud)

读:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
String language = settings.getString("language", "");
Run Code Online (Sandbox Code Playgroud)

您可以使用RadioGroup,设置Sharedpref并使用它.

希望这有帮助!

  • 为了将来进行校对,您可能需要使用`editor.apply();`而不是`editor.commit();` (4认同)