Как обновить приложение с onConfigChanges без потери экземпляра
protected void onResume() {
super.onResume();
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
Configuration config = getBaseContext().getResources().getConfiguration();
String lang = settings.getString("lang_list", "");
// Log.d("Lang",lang);
if (!"".equals(lang) && !config.locale.getLanguage().equals(lang)) {
recreate();
Locale locale = new Locale(lang);
Locale.setDefault(locale);
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
}
if (AppController.getInstance().isPreferenceChanged()) {
setupViewPager(viewPager);
adapter.notifyDataSetChanged();
}
}
Я хочу изменить язык приложения, не воссоздавать приложение. Я имею в виду, что я хочу это сделать, когда пользователь выбирает любой язык из этой настройки, тогда он должен изменить язык действия настройки без использования recreate();
, потому что, когда я использую recreate();
, он один раз мигает.
Так что я не использую recreate();
. Вместо этого я написал ниже код в Настройка активности в AndroidManifest.xml
<activity
android:name=".activity.SettingsActivity"
android:label="@string/title_activity_settings"
android:configChanges="orientation|keyboardHidden|screenSize|locale|layoutDirection"/>
Как и ниже скриншоте вы можете увидеть, что я выбрал «хинди» для языка, но это не обновляя активность на хинди. Я имею в виду «Выбрать страну», «Выбрать свой язык» и «Выбрать категории» должен отображаться на хинди вместо английского. Я написал String на обоих языках.
Can Anybody know Как изменить его при изменении языка? OR Почему onConfigChanges не работает для локали, поскольку работает для ориентации.
Спасибо!
Ничего не случилось ..... :( –
Мне нужно изменить язык активности, когда я выбираю другой язык ... Все приложение должно автоматически изменяться на выбранный язык ... –
опубликуйте свой код счетчика. – Queendevelopers