Я хотел бы изменить язык приложения программно. Я использую следующий код для выполнения задачи, которая находится в onCreate()
методе Activity:
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
Resources res = context.getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration config= new Configuration();
config.locale = new Locale("fr"); //use French locale
res.updateConfiguration(config, dm);
//following code will navigate among fragments
...
}
Мое приложение имеет только одну активность , в которой размещено несколько фрагментов .
Если я запускаю свое приложение на платформе Android 4.0 , прекрасно работает , каждый фрагмент отображается на "французском" языке.
Но если я запускаю на платформе Android 2.2 , только первый фрагмент отображается на французском языке, следующий замененный фрагмент по-прежнему показывает английский (мои настройки телефона используют английскую локаль).
Почему он работает только на платформе Android 4.0?