Gebietsschema: onConfigurationChanged wird nicht aufgerufen

Ich möchte, dass sich meine Sprache dynamisch ändert, und ich versuche, onConfigurationChanged zu verwenden, aber es wird nicht aufgerufen. Ich habe eine MainActivity, die meine Aktionsleiste und meinen Viewpager erstellt. Der Rest meiner Seiten sind Fragmente. In meinem SettingsFragment habe ich eine Schaltfläche, um die Sprache auf Französisch umzustellen.

langChange.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View vi) {
            MainActivity main = (MainActivity)getActivity();
            main.langChange();
        }

});

Dann habe ich in meiner MainActivity

@Override
public void onConfigurationChanged(Configuration newConfig){
    super.onConfigurationChanged(newConfig);
    if (locale != null){
        newConfig.locale = locale;
        Locale.setDefault(locale);
        getBaseContext().getResources().updateConfiguration(newConfig, getBaseContext().getResources().getDisplayMetrics());
    }
}

public void langChange(){
    if(currentLanguage == FRENCH_LANGUAGE){
        locale = new Locale("en");
        Locale.setDefault(locale);
        Configuration c = getBaseContext().getResources().getConfiguration();
        c.locale = locale;
        getBaseContext().getResources().updateConfiguration(c,getBaseContext().getResources().getDisplayMetrics());
        currentLanguage = "English";
    }
    else if(currentLanguage == ENGLISH_LANGUAGE){
        locale = new Locale("fr");
        Locale.setDefault(locale);
        Configuration c = getBaseContext().getResources().getConfiguration();
        c.locale = locale;
        getBaseContext().getResources().updateConfiguration(c,getBaseContext().getResources().getDisplayMetrics());
        currentLanguage = "French";
    }
    actionBar.setSelectedNavigationItem(actionBar.getTabCount() - 1); //This just puts it back to the settings tab
}

DasonConfigurationChanged wird nicht angerufen. In meinem Manifest habe ich:

<activity android:name="MainActivity" android:screenOrientation="portrait" android:configChanges="locale"></activity>

Ich habe versucht, eine oder alle dieser Optionen hinzuzufügenorientation|keyboardHidden|screenSize ohne erfolg.

Der Grund für all dies ist, dass ich den actionBar-Text und den gesamten anderen Text ändern möchte, sobald ich auf die Schaltfläche klicke. Ich habe eine separate Textdatei für Französisch.

Jede Hilfe wäre toll.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage