0

我有一个我想在英语和希伯来语中使用的应用程序。我在 values 和 values-iw 文件夹下添加了两个字符串文件。当用户选择不同的语言时,我运行以下代码:

Locale locale;
     if (location.equals("iw")){
         locale= new Locale("iw");
         Errors._langauge=1;    
     }
     else{
         locale=Locale.ENGLISH;
         Errors._langauge=2;
     }
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    getBaseContext().getResources().updateConfiguration(config,
          getBaseContext().getResources().getDisplayMetrics());

这工作正常,直到我放置我的设备,导致 layout-land 目录中的 xml 被加载。加载土地 xml 时,语言会恢复为系统的默认语言。我怎样才能防止这种情况发生?

4

1 回答 1

2

更改方向时,您的 Activity 会重新创建自己,因此您的 onCreate() 将再次运行。我假设您正在初始化 onCreate() 方法中的默认值,因此它会自行更改回来。

于 2012-06-07T14:18:07.367 回答