2017-03-02 66 views
1

我在一個活動中使用谷歌地圖多個片段,當從設置頁面更改語言從英語到阿拉伯語,反之亦然,我重新加載整個活動以應用更改,每件事物顯示通常EI除了在地圖內的所有標題文本更改爲新的語言(國名,城市,街道...)GoogleMaps Android工作室更改語言刷新

這是我用來改變laguage代碼:

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); 

    } 

地圖以舊語言繼續顯示,直到我手動從堆棧列表中殺死整個應用程序然後重新打開它,我如何強制地圖重新加載新語言中的標籤?

預先感謝您

回答

0

我說你有super.onCreate後和setContentView在活動之前做setLanguage(Activity activity)

+0

謝謝你的回覆,我做到了,但它不工作 – user173488