2016-11-04 90 views
0

工作更改地區編程像下面,本地化不牛軋糖設備

Locale locale = new Locale("es"); 
     Locale.setDefault(locale); 
     Configuration config = new Configuration(); 
     config.locale = locale; 
     getBaseContext().getResources().updateConfiguration(config, 
       getBaseContext().getResources().getDisplayMetrics()); 

     Resources.getSystem().updateConfiguration(config, null); 

是不工作的牛軋糖的設備,當我們從一個活動切換到另一個

+0

在其他設備中,它從一個活動切換到另一個時運行良好嗎? – Piyush

+0

是的..它工作正常..只有牛軋糖設備我遇到這個問題 – Vennila

+0

我啓動webview時有類似的問題。這裏是完整的解決方案的問題http://stackoverflow.com/questions/40486932/android-nougat-7-1-resets-locale-after-launching-webview –

回答

1

牛軋糖它會自動切換到英語已經過時config.locale。改用setLocales()。

Configuration config = activity.getBaseContext().getResources().getConfiguration(); 

Locale locale = Utils.stringToLocale(stringLanguage); 
Locale.setDefault(locale); 
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { 
     config.setLocales(new LocaleList(locale)); 
} else { 
     config.locale = locale; 
} 
activity.getBaseContext().getResources().updateConfiguration(config, 
      activity.getBaseContext().getResources().getDisplayMetrics()); 
相關問題