2017-03-02 23 views
1

複数のフラグメントを含むアクティビティでGoogleマップを使用しています。設定ページから言語を英語からアラビア語に変更するときは、変更内容を適用するためにアクティビティ全体をリロードします。通常、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); 

    } 

マップは、スタックリストからアプリ全体を手動で削除してから再度開くまで、古い言語で表示され続けます。新しい言語でラベルを再読み込みするにはどうすればよいですか?

は、私はあなたがsuper.onCreate後とアクティビティのsetContentViewsetLanguage(Activity activity)をしなければならないと言うだろう事前

答えて

0

でお願いします。

+0

返信ありがとう、私はそれをしましたが、それは動作していません – user173488

関連する問題