5

当应用程序的语言已更改时,如何强制 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));
}

谢谢,

4

2 回答 2

9

同样的问题,通过在 ActivityonCreate方法中强制 ActionBar 标签重新加载来解决:

    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();
        }
于 2015-01-23T16:06:01.567 回答
1

您需要在应用程序中为您的标题添加翻译,然后应用程序将根据用户设备语言自动更改您的标题...这是如何将语言文件夹添加到您的应用程序如何在不同语言字符串资源文件夹之间务实地切换安卓?

于 2013-12-22T09:03:13.213 回答