Witajcie,
w aplikacji mam trzy buttony - każdy z nich odpowiada za zmianę wersji językowej aplikacji.
[PL]
setLocale("pl");
[DE]
setLocale("de");
[EN]
setLocale("en");
Sama funckcja wygląda tak:
public void setLocale(String lang) {
myLocale = new Locale(lang);
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dm);
Intent refresh = new Intent(this, MainActivity.class);
startActivity(refresh);
this.finish();
}
W ramach aplikacji mam jedną aktywność. Zmiana języka działa poprawnie do momentu kiedy nie wykonam akcji rotacji ekranu (odpalając jeden z layoutów muszę przełączyć się na widok poziomy). I tu pojawia się problem, bo "gubi" mi się aktualnie wybrana wersja językowa (np. na niemiecka wraca na polską - czyli na taką jak mam na fonie).
Kombinowałem na rózne sposoby ze zmianą parametru w pliku AndroidManifest:
<activity android:name=".MainActivity"
android:configChanges="orientation|keyboardHidden">
Niestety, nie rozwiązało to mojego problemu.. Macie jakieś pomysły?
Dzięki za wszelką pomoc!
Marcin