我必须让我的Android应用程序在3种语言,即德语,英语和荷兰语.我在我的android应用程序名称values-de和values-nlres目录中创建了三个文件夹.现在,当用户选择特定语言时,我执行以下代码:
Resources res = getResources();
Configuration newConfig = new Configuration(res.getConfiguration());
newConfig.locale = Locale.ENGLISH;
res.updateConfiguration(newConfig, null);
Run Code Online (Sandbox Code Playgroud)
不同值文件夹中的所有字符串都具有相同的名称,即values文件夹中名称为add_site的字符串在文件夹中具有相同的名称the values-de但具有不同的值.当我将语言环境设置为德语时,我的应用程序没有加载德语值?可能是什么问题呢?
谢谢你的帮助.
onCreate()在调用之后尝试将其放入super.onCreate:
Locale locale = new Locale("de");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
Run Code Online (Sandbox Code Playgroud)
编辑: 这是另一种方法.它似乎非常灵活,但评论中似乎有一些不同意见是否适用于所有Android版本.
| 归档时间: |
|
| 查看次数: |
6677 次 |
| 最近记录: |