我有3-4次活动。其中一个是主要活动,第二个是偏好屏幕。我有一个首选项屏幕,其中包含不同的首选项,如ListPreference等,它们具有默认值。
如何在启动项目时激活默认设置值?
默认情况下,它们仅在我启动“设置活动”时激活。简而言之:我需要在不调用“设置活动”的情况下使用主活动中的默认值。
答案 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文件中的值。