У меня есть основное действие (назовем его A) и второе действие (назовем его B), которое используется для изменения языка приложения. Дело в том, что когда я нажимаю кнопку, чтобы изменить язык, я также вызываю recreate();
, а B меняет его язык. Пока все в порядке. Проблема возникает, когда я возвращаюсь к основному виду деятельности (A), и он не обновил язык, потому что он не был воссоздан, поэтому есть ли способ воссоздать A из B, чтобы обновить A?Как воссоздать предыдущую активность?
Я использую этот код, чтобы перевести (пример анг версии) приложение:
public void btnIngles_onClick(View v)
{
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
this.getApplicationContext().getResources().updateConfiguration(config, null);
recreate();
}
попробуйте посмотреть на Намерения и startActivityForResult и передать обновленный язык обратно в результате – chaitanya