1

我目前有一个应用程序,其中法国用户应该将首选项默认设置为 false,而另一个用户应该将此首选项设置为 true。

我不明白处理这个问题的正确和干净的方法。

目前,在我的应用程序中,我调用了 2 次偏好。

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

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

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

非常感谢您对如何以干净的方式进行此操作的所有想法和解释。

4

1 回答 1

4

您可以通过这种方式使用资源来完成此操作。

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

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

/res/values/bools.xml

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

/res/values-fr/bools.xml

  • 再次制作布尔值,同名
    • 名称:pref_default
    • 类型:布尔值
    • 值:假

在您的preferences.xml 中:

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

可以了,好了!

您甚至应该能够使用R.bool.pref_default.

免责声明:我从未编写过涉及多种语言的代码,但这是基于我对资源限定符的理解。

如果您指的是法国地区而不是说法语的地区,那么您可能会找到-r它的限定词(请参阅我的链接)。

于 2011-07-09T00:56:32.723 回答