2012-06-07 39 views
0

我有一個應用程序,我希望在英語和希伯來語中使用。 我已經在值和值-IW文件夾下添加了兩個字符串文件。 當用戶選擇不同的語言,我運行此代碼:Android本地化,在將設備轉換爲佈局語言語言時可以恢復爲默認設置

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()); 

這是工作的罰款,直到我躺在我的設備,導致XML佈局,用地目錄加載。 加載land xml時,語言會回到系統的默認語言。 我該如何改變這種情況?

回答

2

當改變方向時,你的Activity重新創建自己,所以你的onCreate()會再次運行。我假設你正在初始化你的onCreate()方法中的默認值,所以它會改回自己。

+0

我不會更改任何OnCreate。此外,我更改了流行語,然後轉到另一個xml(新互聯網),它調用它的Create,並獲得正確的語言。正當我將這個新的互聯網改變爲風景時,語言又回來了。我甚至嘗試用OnCreate方法中的代碼重置語言,但仍然是同一問題... – Programer

+0

然後存儲用戶的選擇,並在onCreate()上用它初始化語言。調用create時每次調用 –

+0

以從保存的prefrences中加載語言? – Programer

相關問題