Я сейчас на андроиде.И у меня возникли проблемы при разработке приложения, в котором я должен загружать данные с сервера, а затем заполнять список этими данными.Я использовал asyncTask для этого и использовал функцию onRetainNonConfigurationInstance () для обработки изменения ориентации экрана при загрузке данных, и это работало хорошо.
Проблема началась, когда я захотел изменить локаль своей деятельности.Например, когда я меняю ориентацию, меняются региональные настройки, которые я прочитал: -
Как сохранить состояние приложения Android?
и Перезапуск активностиротация Android
Я хочу изменить макет с альбомного на портретный. Поэтому я не использовал
android: configChanges = "locale | ориентация"
Я все еще не могу решить это.Я думаю, что система меняет язык сама по себе, поэтому, когда я изменяю ориентацию, даже если я пытаюсь установить его с помощью
Locale locale = new Locale("ar");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
, мне нужно закончить действие и открыть его снова, что сделаетпользователь ждет больше, и это приведет к сбою приложения, когда пользователь снова попытается изменить ориентацию.
Я думаю, что могу использовать onRetainNonConfigurationInstance (), но я не знаю, как с этими вещами мне нужно справиться,Так что любая помощь будет оценена.