Android-Benutzer-Gebietsschema immer wieder nach onCreate?

Ich will eine konfigurierbare Sprache Einstellungen in meiner app.

So, in onCreate meiner Tätigkeit, ich nenne Ressourcen.updateConfiguration
mit dem neuen Gebietsschema.

Jedoch nach onCreate (in einiger Zeit, kann ich es nicht finden wenn), die
Gebietsschema eingestellt ist wieder auf die Standard-locale.

Auf dem code-Beispiel unten, die Zeichenfolgen dargestellt, die in das Haupt-layout (als
aufgeblasen durch setContentView) zeigt die
"in" language version, ABER wenn ich drücken Sie die Menü-Taste, auf die
onCreateMenu heißt, die Saiten -
entnommen aus "en" (Standard) locale.

Das log zeigt dies:

 18337               oncreate  D  { scale=1.0 imsi=525/1 loc=intouch=3 keys=1/1/2 nav=3/1 orien=1 layout=34 uiMode=17 seq=143}
 30430        ActivityManager  I  Displayed activity yuku.coba.locale/.CobaLocaleActivity: 266 ms (total 266 ms)
 18337        KeyCharacterMap  W  No keyboard for id 65540
 18337        KeyCharacterMap  W  Using default keymap: /system/usr/keychars/qwerty.kcm.bin
 18337                 onmenu  D  { scale=1.0 imsi=525/1 loc=en_GB touch=3 keys=1/1/2 nav=3/1 orien=1 layout=34 uiMode=17 seq=143}

Zwischen "oncreate" und "onmenu", wird die locale auf Magische Weise ändert.

Bitte helfen, ich habe seit neuestem mit diesem mit kein Glück.

Code-snippet:

   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       Configuration c = new Configuration();
       c.locale = new Locale("in");
       getResources().updateConfiguration(c, null);

       setContentView(R.layout.main);
       Log.d("oncreate", getResources().getConfiguration().toString());
   }

   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
       Log.d("onmenu", getResources().getConfiguration().toString());
       new MenuInflater(this).inflate(R.menu.utama, menu);

       return true;
   }
  • Dieses problem scheint nicht zu erscheinen, auf 1.5-emulator, kommt aber auf 2.2 Nexus One.
  • Hi, ich habe das gleiche proble. Hast du eine Lösung finden?
Schreibe einen Kommentar