更改Android App中的语言

时间:2012-07-30 10:47:02

标签: android locale

我想以编程方式更改应用中的语言。 第一个onCreate(Bundle)方法有效,图像以中文显示。 第二个不起作用。我必须在“TODO”评论中插入什么内容?我想在创建视图后更改语言,并希望更新它。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    TranslationHelper.changeLanguage(this, Locale.CHINESE);
    setContentView(R.layout.main_activity);
    doBindService();
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);
    TranslationHelper.changeLanguage(this, Locale.CHINESE);
    // TODO recreate view to display chinese version
    doBindService();
}

1 个答案:

答案 0 :(得分:0)

第一个示例有效,因为它在调用setContentView方法之前更改了语言环境。您需要在changeLanguage之前插入setContentView。 在setContentView之后,所有视图都已经膨胀,因此此时更改的区域设置将不起作用。如果要在创建视图后更改语言,则需要手动更新它。