5

Как заставить приложение Android перезагрузить заголовок активности при изменении языка приложения? Для вашей информации приложение перезагружает заголовок только при повороте устройства. Тем не менее, содержание активности перезагружается с соответствующим языковым контентом без проблем, но название активности!Как заставить Android-приложение перезагрузить заголовок действия, соответствующий изменению языка?

В AndroidManifest.xml файл android: configChanges = "locale" добавлен без успеха.

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

Даже наиважнейшая onConfigurationChanged событие не работает,

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

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

Спасибо,

+0

http://developer.android.com/reference/java/util/Locale.html. проверьте это – Raghunandan

+1

Попробуйте установить заголовок в onResume() – Clyde

+1

попробуйте воссоздать(). –

ответ

1

вам нужно добавить перевод для заголовка в приложении, а затем приложение будет изменить название автоматически на основе на языке пользовательского устройства ... вот как добавить языковые папки в ваше приложение How to pragmatically switch between different language string resource folders in android?

8

Такая же проблема, решаемая форсированием A ctionBar метка перезарядка в активность onCreate метода:

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

Что делать, если я нахожусь в «PreferenceFragment», как обновить панель действий и другую панель действий действий при обратном нажатии? спасибо –