Установка значения логического предпочтения по умолчанию в зависимости от языка устройства (локаль) - PullRequest
1 голос
/ 08 июля 2011

В настоящее время у меня есть приложение, в котором для французских пользователей по умолчанию должно быть установлено значение false, а другому должно быть установлено значение true.

Я не понимаю правильный и чистый способ справиться с этим.

В настоящее время в моем приложении я вызываю 2 раза предпочтение.

*) в первый раз в моем макете предпочтений xml и в своем задании предпочтений я должен установить предпочтение при первом запуске.

*) Второй раз, в моем коде:

boolean value = prefs.getBoolean("key"), true/false);

Большое спасибо за все ваши идеи и объяснения о том, как сделать это аккуратно.

1 Ответ

4 голосов
/ 09 июля 2011

Вы можете использовать ресурсы таким образом, чтобы достичь этого.

Структура папки (вы можете выбрать любое имя для реального XML-файла или даже создать ресурс с другими ресурсами):

/res/values/bools.xml
/res/values-fr/bools.xml

В /res/values/bools.xml:

  • Сделайте логическое значение, вы можете переименовать его так, как вам нужно.
    • Имя: pref_default
    • Тип: логическое значение
    • Значение: правда

В /res/values-fr/bools.xml:

  • Сделайте логическое значение снова, то же имя
    • Имя: pref_default
    • Тип: логическое значение
    • Значение: false

В ваших предпочтениях.xml:

  • Установить значение по умолчанию @ bool / pref_default

Все готово!

Вы даже сможете получить к нему доступ из кода с помощью R.bool.pref_default.

Отказ от ответственности: я никогда не писал код, включающий несколько языков, но я основал это на своем понимании квалификаторов ресурсов .

Если вы имеете в виду регион Франция, а не говорящих по-французски, то вы, вероятно, можете найти для него квалификатор -r (см. Мою ссылку).

...