设置布尔值首选项默认值取决于设备语言(Locale)

时间:2011-07-08 16:52:20

标签: android default locale preference

我目前有一个应用程序,默认情况下法国用户的首选项应设置为false,另一个应将此首选项设置为true。

我不明白一个正确而干净的方法来处理它。

目前,在我的应用中,我拨打了2次偏好。

*)第一次在我的偏好xml布局和我的偏好活动中,我必须在第一次启动时设置首选项。

*)第二次,在我的代码中:

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

Thanbk很多关于如何以干净的方式做到这一点的所有想法和解释。

1 个答案:

答案 0 :(得分:4)

您可以通过这种方式使用资源来实现此目的。

文件夹结构(您可以为实际的XML文件选择任何名称,甚至可以使用其他资源创建资源):

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

/res/values/bools.xml

  • 制作布尔值,您可以将其重命名为您需要的任何内容。
    • 姓名:pref_default
    • 类型:布尔值
    • 价值:true

/res/values-fr/bools.xml

  • 再次使用布尔值,同名
    • 姓名:pref_default
    • 类型:布尔值
    • 值:false

在您的preferences.xml中:

  • 将默认值设置为@ bool / pref_default

全部设定!

您甚至可以使用R.bool.pref_default从代码中访问该内容。

免责声明:我从未编写过涉及多种语言的代码,但我的理解基于对resource qualifiers的理解。

如果您指的是法国地区而不是法语人士,那么您可以找到-r限定符(请参阅我的链接)。