SharedPreferences和不同的语言

时间:2014-01-18 15:16:57

标签: android sharedpreferences android-preferences

您好我对PreferencesFragment有问题并存储设置。当我在Android中更改手机的语言时,我的首选项的存储值仍然是以前的语言,并且未在PreferencesFragment中设置。我为每种语言都有不同的值文件夹。我该怎么做才能解决它?

2 个答案:

答案 0 :(得分:0)

应用程序中的首选语言不依赖于您的手机语言。如果它依赖,你甚至不需要在你的应用程序中,首先。您应该使用自动语言进行编码,这取决于手机语言。

答案 1 :(得分:0)

好了,因为您想要更改首选项的值。我不认为它可以由API自动完成。您必须编写自己的代码来设置首选项值。

您可以将语言相关的首选项值存储在values-xx目录中。例如。字符串,整数等。

当有人更改手机的语言时,您的活动将重新启动。您应该将此作为更改onCreate中的首选项值的机会。首先,存储当前使用的语言,以便可以用它来检测语言是否已更改。您可以使用Locale执行此操作(Locale.getDefalt()

现在,如果您检测到语言更改,只需通过调用Resources使用getResources()对象获取值,并更改所有与语言相关的首选项值。