我有3 - 4项活动。其中一个是主要活动,第二个是首选屏幕。我有一个首选项屏幕,其中包含具有默认值的不同首选项,如ListPreference等。Android:首选项默认值
当我开始我的项目时,如何激活设置的默认值?
默认情况下,它们仅在启动设置活动时激活。很快:我需要在主要活动中使用默认值,而无需调用设置活动。
我有3 - 4项活动。其中一个是主要活动,第二个是首选屏幕。我有一个首选项屏幕,其中包含具有默认值的不同首选项,如ListPreference等。Android:首选项默认值
当我开始我的项目时,如何激活设置的默认值?
默认情况下,它们仅在启动设置活动时激活。很快:我需要在主要活动中使用默认值,而无需调用设置活动。
我要做的就是在我的偏好活动类的静态方法,所以它可以在任何地方被称为:
static public boolean getOrderByDate(Context context) {
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(context);
return prefs.getBoolean("order_by_date", true);
}
请注意,我的默认值(true)是在getBoolean()调用中指定的。如果您希望在一个地方指定所有默认值,则可能需要调用Preference.setDefaultValue(),而不是在XML中进行设置。
只要使用Shared Preferences就可以设置它。
public static String PlayerName = "";
public static int CardsCount = 52;
public static int PlayersCount = 5;
还实现LoadSettings()和SaveSettings()方法,它会正常工作
商店使用SharedPreferences喜好,并在MainActivity加载它们。如果首选项尚不存在,则SharedPreferences获得您传入的方法,并返回默认值以返回。
更新:代码示例
在您的主要活动
// get the shared preferences for your package context
SharedPreferences sharedPreferences = PreferencesManager.getSharedPreferences(this);
// get the boolean preference with a default value of false
boolean somePref = sharedPrefernces.getBoolean("somePref", false);
// get the string preference with a default value of "default"
String someOtherPref = sharedPreferences.getStirng("someOtherPref", "default");
有一个这样的方法。看到您的主要活动的onCreate
the docs
PreferenceManager.setDefaultValues(this, R.xml.advanced_preferences, false);
调用它。它将首选项初始化为存储在XML文件中的值。
你在做什么“在主要活动中加载它们”? – Jim 2011-02-16 14:21:16