onConfigurationChange not called after changing locale

后端 未结 3 1680
心在旅途
心在旅途 2020-12-30 06:12

I have to refresh the fragments contents on change of language from one fragment. So I thought of using onConfigurationChange method which is in my Main activity (this activ

3条回答
  •  一个人的身影
    2020-12-30 07:06

    You can extend from Application and set it in the manifest. Then, put onConfigurationChanged there, and check if the previous locale is the same as the current one:

    if(!_currentLocale.equals(newConfig.locale))
      {
      _currentLocale=newConfig.locale;
      // locale has changed
      }
    

    The "_currentLocale" variable should be initialized on the onCreate method of the new class (that extends Application), as such:

      @Override
      public void onCreate()
        {
        super.onCreate();
        _currentLocale=getResources().getConfiguration().locale;
        }
    

提交回复
热议问题