GoogleMaps Android studio更改语言刷新

时间:2017-03-02 15:48:25

标签: android google-maps reload

我在具有多个片段的活动中使用谷歌地图,当从设置页面将语言从英语更改为阿拉伯语,反之亦然时,我重新加载整个活动以应用更改,每个事物通常显示所有文本更改为除了地图内的标题(国家名称,城市,街道......)之外的新语言

这是我用来改变语言的代码:

 public static void setLanguage(Activity activity){
        String languageToLoad = "en";
        boolean isEnglish=Preference.getBooleanPrefs(Preference.LANGUAGE, activity, true);
        if(isEnglish)
            languageToLoad = "en";
        else
            languageToLoad = "ar";

        Locale locale = new Locale(languageToLoad);
        Locale.setDefault(locale);
        Configuration config = new Configuration();
        config.locale = locale;
        activity.getBaseContext().getResources().updateConfiguration(config,activity.getResources().getDisplayMetrics());

    }

这是我用来重新加载活动的代码:

public void refreshChangelanguage() {

        Intent intent = new Intent(this, HomeActivity.class);
        startActivity(intent);
        finish();
        loadFragment(FRAGMENT_SETTING, null);

    }

地图一直以旧语言显示,直到我手动从堆栈列表中删除整个应用程序然后重新打开它,我如何强制地图以新语言重新加载标签?

提前谢谢

1 个答案:

答案 0 :(得分:0)

我说你必须在<p>User Name: @User.Identity.GetUserDisplayName()</p> 之后和活动setLanguage(Activity activity)之前进行super.onCreate