2014-05-23 76 views
6

我用两种语言创建了一个应用程序。第二个(英文),当用户的默认系统语言是英文时使用。如果不是,则使用第一个。如何设置Android应用的默认语言?

我想将第二种语言(即英语)设置为默认语言 ,这意味着当用户打开我的应用程序并且他的系统语言不是第一种语言或英语时,英语将显示为默认语言一。

我想:

Locale locale = new Locale("en_US"); 
    Locale.setDefault(locale); 
    Configuration config = new Configuration(); 
    config.locale = locale; 
    context.getApplicationContext.getResources().updateConfiguration(config, null); 

却得到了“上下文无法解析”错误每次..这是一段代码的权利或..?

+3

您应该不需要那么做。无论您在“基本”文件夹中放入的资源(例如值与值-ES)都将在语言不符合任何提供的备选方案时使用。 – matiash

回答

0

您应该使用res文件夹定义您支持的所有语言,即res/values,res/values-en,res/values-fr。系统会处理所有其他事情,你不需要任何代码。

0

如果你是在一个活动,你可以这样做:

this.getApplicationContext().getResources().updateConfiguration(config, null);

...来改正错误。 否则你需要通过上下文。

确保在getApplicationContext()的末尾添加括号。你的代码中没有这样做。

4

好吧,

使一切清晰, 我意识到res/values是默认的目录和其他人都只是“语言的情况下”。所以我所要做的一切就是将英文切换为/ res/values,而其他语言转到res/values-es

相关问题