Android 将动态字符串转换为所选语言
我正在尝试国际化我的应用程序。当我选择不同的语言时,Android 将动态字符串转换为所选语言,android,sharedpreferences,Android,Sharedpreferences,我正在尝试国际化我的应用程序。当我选择不同的语言时,string.xml中的所有字符串都会更改。但我在SharedReference中保存了字符串,因此当我更改语言时,更改不会应用于保存在SharedReference中的字符串。有办法吗?提前谢谢 例如: 我保存用户从我的日期选择器中选择的日期: (English) Thursday, June 17 at 10:00 AM 当我更改语言设置时,应该是: (Spanish) Jueves, Junio 19 en 10:00 AM 但它仍然
string.xml
中的所有字符串都会更改。但我在SharedReference
中保存了字符串,因此当我更改语言时,更改不会应用于保存在SharedReference
中的字符串。有办法吗?提前谢谢
例如:
我保存用户从我的日期选择器中选择的日期:
(English) Thursday, June 17 at 10:00 AM
当我更改语言设置时,应该是:
(Spanish) Jueves, Junio 19 en 10:00 AM
但它仍然是英文的,当您将日期保存到
savedReferences
时,您需要将其转换为毫秒
,然后在savedReferences
中获取日期时,将其作为毫秒
提供给date类的构造函数
示例:
将其另存为毫秒(value
)到savedReferences
long value = new Date().getTime(); //where it is english at this time
从savedReferences
获取值,并将其提供给Date类的构造函数
//after you change language
long value = //get the value from SavedPreferences
Date d = new Date(value);
d.toString(); //now the result will be the language you specified
保存的字符串是否位于string.xml中?@Rod_Algonquin否。它位于我的SharedReference中。实际上是约会。当用户从我的日期选择器中选择日期时,我将其保存为字符串,并从不同视图传递值。尝试将字符串格式设置为Locale@rubberdont。您能否发布您当前保存在SharedReference中的内容以及它的预期结果?谢谢您的建议。因为你的想法,我来寻求更好的解决方案。它在我自己的实现中。但对于如何从SharePreference自动转换字符串,我找不到任何解决方案。也许是因为你救了它。非常感谢!