5

Wie konnte Android-Anwendung zwingen, Titel neu zu laden, wenn die Sprache der Anwendung geändert wurde? Zu Ihrer Information lädt die Anwendung den Titel nur neu, wenn das Gerät gedreht wird. Der Inhalt der Aktivität wird jedoch ohne Probleme mit dem entsprechenden Sprachinhalt neu geladen, aber der Titel der Aktivität!Wie erzwinge Android-Anwendung, den Aktivitätstitel entsprechend der Sprachänderung neu zu laden?

In der AndroidManifest.xml-Datei wurde android: configChanges = "locale" ohne Erfolg hinzugefügt.

<activity 
    android:name=".layout.MainActivity" 
    android:configChanges="locale" 
    android:label="@string/app_name" /> 

Auch übergeordnete onConfigurationChanged Ereignis nicht,

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    // refresh your views here 
    super.onConfigurationChanged(newConfig); 

    this.setTitle(getResources().getString(R.string.app_name)); 
} 

Danke funktioniert,

+0

http://developer.android.com/reference/java/util/Locale.html. Überprüfen Sie diese – Raghunandan

+1

Versuchen Sie, den Titel in OnResume() – Clyde

+1

versuchen, neu zu erstellen(). –

Antwort

8

Gleiches Problem, gelöst durch Erzwingen A ctionBar Etikett reload in Aktivität onCreate Methode:

PackageManager pm = getPackageManager(); 
     try { 
      ActivityInfo ai = pm.getActivityInfo(this.getComponentName(), PackageManager.GET_ACTIVITIES|PackageManager.GET_META_DATA); 
      if (ai.labelRes != 0) { 
       getSupportActionBar().setTitle(ai.labelRes); 
      } 
     } catch (PackageManager.NameNotFoundException e) { 
      e.stacktrace(); 
     } 
+0

Was ist, wenn ich in 'PreferenceFragment' bin, wie kann ich die Aktionsleiste und andere Aktionsleisten beim Backpress aktualisieren? danken –