Kraft "locale" in der Anwendung
Will ich drehen mein Handy und halten Sie das Gebietsschema. Ich habe Ordner, Werte, Werte-en und den Wertenhr. Bei jeder Aktivität habe ich
android:configChanges="keyboardHidden|orientation|locale"
und in jeder activity.java - Datei habe ich
private Locale locale = null;
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if (locale != null)
{
newConfig.locale = locale;
Locale.setDefault(locale);
getBaseContext().getResources().updateConfiguration(newConfig, getBaseContext().getResources().getDisplayMetrics());
}
}
und in onCreate
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
Configuration config = getBaseContext().getResources().getConfiguration();
String lang = settings.getString("language","en");
if (! "".equals(lang) && ! config.locale.getLanguage().equals(lang))
{
locale = new Locale(lang);
Locale.setDefault(locale);
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
}
Funktioniert es, bis ich drehen meine Telefon - app wird noch gearbeitet, die Tasten und alles ist in Ordnung - aber Gebietsschema ist immer seltsam - manchmal ist es meine locale (hr) manchmal es ist (en)...
Was ich sonst noch hinzufügen müssen?
Warum sind Sie die Unordnung mit dem Gebietsschema, das im Gegensatz zu vermieten das android-system handle es für Sie?
Ich glaube, das kann eine doppelte Frage: stackoverflow.com/questions/3711712/..., Bitte korrigieren Sie mich, wenn ich falsch bin.
Bitte werfen Sie einen Blick auf meine Lösung: stackoverflow.com/a/9535374/498067 . Es ist sehr einfach und erfordert keine änderungen in Ihren Aktivitäten.
Bist du nicht vergessen zum zurücksetzen der contentView e.g setContentView(R. layout.mylayout)?
Ich glaube, das kann eine doppelte Frage: stackoverflow.com/questions/3711712/..., Bitte korrigieren Sie mich, wenn ich falsch bin.
Bitte werfen Sie einen Blick auf meine Lösung: stackoverflow.com/a/9535374/498067 . Es ist sehr einfach und erfordert keine änderungen in Ihren Aktivitäten.
Bist du nicht vergessen zum zurücksetzen der contentView e.g setContentView(R. layout.mylayout)?
InformationsquelleAutor svenkapudija | 2011-01-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich einfach entfernt, "ob" und alles funktioniert jetzt. Ja, es ist ein wenig "sperrig" jedes mal "re-force" ein Gebietsschema, aber ich konnte nicht finden einen anderen Weg.
Meine Lösung ist ein bisschen anders, ich habe gerade "re-force" auf onCreate und onConfigChange - nicht alle 100ms oder so, und auf Wunsch (2.2) funktioniert es einwandfrei.
@Austyn
Ja, es ist so ziemlich die gleiche Frage, aber ich dachte, gibt es eine andere Lösung außer "100ms zwingen".
@Mayra
Benutzer haben will, die Ihre Mutter Zunge (HR), aber es ist nicht unterstützt im (aktuellen) Handys, so dass dies der einzige Weg - Kraft =/
InformationsquelleAutor svenkapudija