2014-07-24 136 views
1

我希望我的應用程序區域設置可以在應用程序中更改。所以我用這個代碼來做到這一點:立即更改區域設置

  String languageToLoad = "fa"; 
      Locale locale = new Locale(languageToLoad); 
      Locale.setDefault(locale); 
      Configuration config = new Configuration(); 
      config.locale = locale; 
      getBaseContext().getResources().updateConfiguration(config, null); 

但事情是,我會看到關閉和手動打開我的應用程序後的變化。但是我希望在代碼行之後立即出現在應用程序中。

我試過將代碼轉到onStart()而不是onCreate()方法,並在代碼行後調用onRestart()。但它沒有奏效。

我應該做的,以實現這一

回答

1

使用這段代碼是什麼..

public void setLocale(String lang) { 
     myLocale = new Locale(lang); 
     Resources res = getResources(); 
     DisplayMetrics dm = res.getDisplayMetrics(); 
     Configuration conf = res.getConfiguration(); 
     conf.locale = myLocale; 
     res.updateConfiguration(conf, dm); 

     Intent refresh = new Intent(this, YourActivity.class); 
     startActivity(refresh); 
     finish(); 
    }