so, I solved the problem using SharedPreferences:
... default:
break;
}
SharedPreferences preferences = getActivity().getSharedPreferences("SETTINGS_FILE", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("currentLanguage", configuration.locale.getLanguage());
editor.commit();
getResources().updateConfiguration(configuration, null); ...
then I implemented method setCurrentLanguage() in my MainActivity/MainFragment:
... protected void setCurrentLanguage() {
Configuration configuration = new Configuration(getResources().getConfiguration());
SharedPreferences preferences = getSharedPreferences("SETTINGS_FILE", Context.MODE_PRIVATE);
String restoredLanguage = preferences.getString("currentLanguage", null);
if (restoredLanguage.equalsIgnoreCase("en")) {
configuration.locale = Locale.ENGLISH;
getResources().updateConfiguration(configuration, null);
}
} ...
and finnaly i call this method in every activity/fragment before setContentView(...):
// in an activity
... protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setCurrentLanguage();
setContentView(R.layout.activity_dashboard); ...
// or in a fragment
... public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setCurrentLanguage();
View rootView = inflater.inflate(R.layout.fragment_preferences,
container, false); ...
Thanks again for your help ;)