Android 共享引用和不同语言

Android 共享引用和不同语言,android,sharedpreferences,android-preferences,Android,Sharedpreferences,Android Preferences,您好,我对首选项片段和存储设置有问题。当我在Android中更改手机的语言时,我的首选项的存储值仍然是以前的语言,并且没有在PreferencesFragment中设置。对于每种语言,我有不同的值文件夹。我能做些什么来修复它?应用程序中的首选语言不依赖于您的手机语言。如果它是依赖的,您甚至不需要它在您的应用程序中,首先。您应该以这样一种方式进行编码,即您拥有依赖于电话语言的自动语言。因为您希望更改首选项的值。我不认为它可以通过API自动完成。您必须编写自己的代码来设置首选项值 您可以将语言相关的

您好,我对首选项片段和存储设置有问题。当我在Android中更改手机的语言时,我的首选项的存储值仍然是以前的语言,并且没有在PreferencesFragment中设置。对于每种语言,我有不同的值文件夹。我能做些什么来修复它?

应用程序中的首选语言不依赖于您的手机语言。如果它是依赖的,您甚至不需要它在您的应用程序中,首先。您应该以这样一种方式进行编码,即您拥有依赖于电话语言的自动语言。

因为您希望更改首选项的值。我不认为它可以通过API自动完成。您必须编写自己的代码来设置首选项值

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

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


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

请更清楚地解释问题。首选项字符串没有更改,例如标题、摘要等。?或者您想自动更改首选项的存储值?我想自动更改首选项的存储值完成并重新启动您的首选项活动。我不知道如何在ListPreference和MultiSelectListPreference中执行此操作为什么要在首选项中存储语言相关的字符串?您应该使用字符串来显示和存储为整数。这就是为什么LisPreference条目有两个属性,entryValues。从存储的整数值中,可以获得映射的翻译字符串。