1

我想以编程方式更改我的应用程序中的语言。第一个 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();
}
4

1 回答 1

0

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

于 2012-07-30T11:03:32.960 回答