2016-10-27 71 views
1

我必須這樣做:如何更改動態內容的語言的Android

  • 用戶應該能夠輸入文本創建後 - 「創建一個帖子」按鈕
  • 這些後應在牆上看。
  • 根據所選語言,靜態內容以及應用上的動態內容應相應更改。它應該在應用程序的設置屏幕中可用。

我有一個問題,即如何更改內容視圖的語言上MainActivity

回答

1

你可以改變這樣的靜態內容。 首先根據語言創建字符串文件。 當改變語言執行此方法

public void changeLang(String lang) 
{ 
    myLocale = new Locale(lang); 
    saveLocale(lang); 
    Locale.setDefault(myLocale); 
    android.content.res.Configuration config = new android.content.res.Configuration(); 
    config.locale = myLocale; 
    getActivity().getApplicationContext().getResources().updateConfiguration(config, null); 
    //getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); 

    updateTexts(); 

    } 

private void updateTexts() 
    { 
    //update text of label in here. 
    textLabel.setText(R.string.welcome); 

    } 

未來在此改變的配置變化的方法

@Override 
public void onConfigurationChanged(android.content.res.Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    if (myLocale != null){ 
     newConfig.locale = myLocale; 
     Locale.setDefault(myLocale); 
     getActivity().getBaseContext().getResources().updateConfiguration(newConfig, getActivity().getBaseContext().getResources().getDisplayMetrics()); 
    } 
} 

我不知道動態內容的想法。我認爲這是不可能的。但是如果你有其他語言的內容,你可以在更改語言時加載它。