Android:首选项默认值

时间:2011-02-16 14:13:37

标签: android android-preferences

我有3-4次活动。其中一个是主要活动,第二个是偏好屏幕。我有一个首选项屏幕,其中包含不同的首选项,如ListPreference等,它们具有默认值。

如何在启动项目时激活默认设置值?

默认情况下,它们仅在我启动“设置活动”时激活。简而言之:我需要在不调用“设置活动”的情况下使用主活动中的默认值。

4 个答案:

答案 0 :(得分:2)

我所做的是在我的Preferences活动类中有一个静态方法,因此可以从任何地方调用它:

static public boolean getOrderByDate(Context context) {
    SharedPreferences prefs = 
            PreferenceManager.getDefaultSharedPreferences(context);
    return prefs.getBoolean("order_by_date", true);
}

请注意,我在getBoolean()调用中指定了我的默认值(true)。如果您希望在一个位置指定所有默认值,则可能需要调用Preference.setDefaultValue()而不是在XML中设置它。

答案 1 :(得分:0)

如果你使用共享偏好设置,就这样设置。

public static String PlayerName = "";
public static int CardsCount = 52;
public static int PlayersCount = 5;

还可以实现LoadSettings()和SaveSettings()方法,它可以正常工作

答案 2 :(得分:0)

使用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");

答案 3 :(得分:0)

有一种方法。见the docs

PreferenceManager.setDefaultValues(this, R.xml.advanced_preferences, false);

在主要活动的onCreate内拨打电话。它将首选项初始化为存储在XML文件中的值。