Android: предпочтение по умолчанию - PullRequest
0 голосов
/ 16 февраля 2011

У меня 3 - 4 занятия.Одним из них является основной вид деятельности, а второй - экран настроек.У меня есть экран настроек с различными настройками, такими как ListPreference и т. Д., Которые имеют значения по умолчанию.

Как активировать значение параметров по умолчанию при запуске проекта?

По умолчанию они активируются только при запуске действия настроек.Коротко: мне нужно использовать значение по умолчанию в основной активности без вызова действия настройки.

Ответы [ 4 ]

2 голосов
/ 16 февраля 2011

В моем классе активности Preferences есть статический метод, поэтому его можно вызывать из любого места:

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

Обратите внимание, что мое значение по умолчанию (true) указано здесь в вызове getBoolean (). Если вы хотите, чтобы все значения по умолчанию были указаны в одном месте, вам может потребоваться вызвать Preference.setDefaultValue (), а не устанавливать его в XML.

0 голосов
/ 23 мая 2017

Есть способ для этого.См. документы

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

Звоните по адресу onCreate вашей основной деятельности.Он инициализирует настройки для значений, хранящихся в вашем XML-файле.

0 голосов
/ 16 февраля 2011

Сохраните настройки, используя SharedPreferences , и загрузите их в MainActivity. SharedPreferences имеет методы get, которые вы передаете в значение по умолчанию, которое возвращается, если предпочтения еще не существует.

Обновление: Пример кода

В вашей основной деятельности

// 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 голосов
/ 16 февраля 2011

Просто установите это так, если вы используете Shared Preferences.

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

Также реализуйте методы LoadSettings () и SaveSettings (), и он будет работать нормально

...