Я создаю ListPreference с несколькими языками в меню настроек моего приложения. Я использовал следующий код для изменения языка, основанный на выборе пользователя:Изменение языка приложения после перезапуска приложения
findPreference("language_list").setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String loadLanguage = (String) newValue;
Locale locale = null;
if (loadLanguage.equals("en")) {
locale = new Locale("en");
} else if (loadLanguage.equals("ku")) {
locale = new Locale("ku");
} else if(loadLanguage.equals("ar")){
locale = new Locale("ar");
}else if(loadLanguage.equals("tr")){
locale = new Locale("tr");
}
else if(loadLanguage.equals("fr")){
locale = new Locale("fr");
}
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getActivity().getResources().updateConfiguration(config,
getActivity().getResources().getDisplayMetrics());
return true;
}
});
код работает, но необходимо перезапустить приложение (выход и запустить его снова) до изменения языка быть сделано полностью. с вышеуказанным кодом часть приложения останется и не изменится, даже если они не работают.
не могли бы вы дать мне представление, что я должен сделать для этого?
Спасибо
Check [это] (http://stackoverflow.com/a/25175129/3831557) раствор я предложил в другом сообщении SO. Вы можете использовать его после внесения некоторых поправок. –
Из интереса, является ли цель этого приложения интенсивным? Языковые настройки могут быть установлены по умолчанию в устройстве, поэтому просто интересно, есть ли причина, чтобы сделать языковое приложение конкретным. Не спрашивайте о своей работе, просто интересно. – zgc7009
@RajenRaiyarela это звучит неплохо, но у меня есть много кода, и для меня не самое лучшее, чтобы изменить все коды, как вы думаете, это не какое-то решение для завершения моей работы и исправления ошибок? – Sir1