我的问题是我有一个日记应用程序,我通过从自定义日历视图中选择特定日期来添加备注。 用户将手机语言从英语更改为其他语言时,问题就开始了。如果用户选择日语作为手机的新语言,则月份名称将以日语转换。 现在我希望如果用户选择除英语以外的任何其他语言,那么月份名称应仅以英语显示。 我经常搜索但找不到任何有用的东西。
任何积极的回应都将受到高度赞赏。 感谢。
答案 0 :(得分:0)
您应该使用自定义日历,当您以编程方式显示日历时,将Locale
(语言)更改为英语。
How to change Locale programatically in android
希望它对你有所帮助。
修改:
您可以使用以下代码更改语言:
public void changeLang(String lang)
{
if (lang.equalsIgnoreCase(""))
return;
myLocale = new Locale(lang);
saveLocale(lang);
Locale.setDefault(myLocale);
android.content.res.Configuration config = new android.content.res.Configuration();
config.locale = myLocale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
updateTexts();
}
通过传递您的语言来调用此方法:
changeLang("en");
注意:您必须在res/string.xml
文件中为英语语言定义字符串。你应该设置你的字符串String.xml
而不是静态。
例如,您的问题您的日历名称设置为......
yourtextview.getResources().getString(R.string.january);