2011-02-16 161 views
0

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

当我开始我的项目时,如何激活设置的默认值?

默认情况下,它们仅在启动设置活动时激活。很快:我需要在主要活动中使用默认值,而无需调用设置活动。

回答

2

我要做的就是在我的偏好活动类的静态方法,所以它可以在任何地方被称为:

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

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

0

只要使用Shared Preferences就可以设置它。

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

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

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"); 
+0

你在做什么“在主要活动中加载它们”? – Jim 2011-02-16 14:21:16

0

有一个这样的方法。看到您的主要活动的onCreatethe docs

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

调用它。它将首选项初始化为存储在XML文件中的值。