您好我对PreferencesFragment有问题并存储设置。当我在Android中更改手机的语言时,我的首选项的存储值仍然是以前的语言,并且未在PreferencesFragment中设置。我为每种语言都有不同的值文件夹。我该怎么做才能解决它?
答案 0 :(得分:0)
应用程序中的首选语言不依赖于您的手机语言。如果它依赖,你甚至不需要在你的应用程序中,首先。您应该使用自动语言进行编码,这取决于手机语言。
答案 1 :(得分:0)
好了,因为您想要更改首选项的值。我不认为它可以由API自动完成。您必须编写自己的代码来设置首选项值。
您可以将语言相关的首选项值存储在values-xx
目录中。例如。字符串,整数等。
当有人更改手机的语言时,您的活动将重新启动。您应该将此作为更改onCreate
中的首选项值的机会。首先,存储当前使用的语言,以便可以用它来检测语言是否已更改。您可以使用Locale
执行此操作(Locale.getDefalt()
)
现在,如果您检测到语言更改,只需通过调用Resources
使用getResources()
对象获取值,并更改所有与语言相关的首选项值。