Изменение языка одним нажатием кнопки - проблема с фрагментом - PullRequest
0 голосов
/ 30 января 2019

В Фрагмент есть Кнопка , которую я использовал для переключения между языками . Но когда я нажимаю эту Кнопку , для переключениямежду языками, это не меняет язык .

 Locale locale = new Locale(MyPrefences.LANGUAGE_TO_LOAD);
   if (locale.equals("ar"))
   {
       locale = new Locale(MyPrefences.LANGUAGE_TO_LOAD);
       Locale.setDefault(locale);
       MyPrefences.SET_VALUES(getApplicationContext());
   }
   else
   {
       locale = new Locale(MyPrefences.LANGUAGE_TO_LOAD);
       Locale.setDefault(locale);
       MyPrefences.SET_VALUES(getApplicationContext());
   }

   Resources resources = mContext.getResources();

Configuration configuration = resources.getConfiguration();
configuration.locale = locale;

resources.updateConfiguration(configuration, resources.getDisplayMetrics());


}

Я использовал тот же код в другом приложении, в котором я использовал Activity , поэтому он работает нормально, но теперь я использую Fragment , теперь этоне работает, я застрял, пожалуйста, дайте предложение преодолеть форму

1 Ответ

0 голосов
/ 30 января 2019

Убедитесь, что mContext не равно нулю.Вы можете получить контекст во фрагменте из любого из представлений.view.getContext() и используйте это для получения ресурсов и изменения конфигурации.

...