繁体   English   中英

Android 本地化,将设备转换为布局语言时会恢复默认设置

[英]Android Localization, When turning device to layout-land language goes back to default

我有一个应用程序,我想同时使用英语和希伯来语。 我在 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 时,语言将恢复为系统的默认语言。 我怎样才能防止这种情况发生?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM