单击按钮时更改语言-片段问题

时间:2019-01-30 12:44:11

标签: android fragment

片段中有一个按钮,我曾经在语言之间切换。但是,当我单击该按钮时, >,在语言之间切换时,不会更改语言

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


}

我在另一个应用程序中使用了相同的代码,因为我使用了活动,所以它可以正常工作 但是现在我正在使用 Fragment ,现在它不起作用 我被卡住了,请提出克服建议

1 个答案:

答案 0 :(得分:0)

确保mContext不为null。 您可以从任何视图中获取片段中的上下文。  view.getContext(),并使用它来获取资源并更改配置。