2013-02-15 177 views
2

我想通過使用微調來更改我的android應用程序的區域設置微調控件包含語言初始值列表中的微調器將是英語但是當活動獲取加載該活動重複獲取intented ..如果我設置第一個價值作爲選擇,那麼它的工作完美,但我需要的活動的初始價值是英文。請在這個問題上幫助我。Android區域設置更改

下面是我對語言微調代碼

位置0是英語 位置1是印地文

language.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, 
       int pos, long id) { 
      // TODO Auto-generated method stub 
      if(pos==0){ 
       languagechange("en"); 

      } 
      if(pos==1) 
      { 
       languagechange("hi"); 
      } 

     } 

和場景變化代碼如下

public void languagechange(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, LoginActivity.class); 
    startActivity(refresh); 
    LoginActivity.this.finish(); 
} 

回答

0

「的初始值該活動是英語「

Locale myLocale = new Locale("en"); 
Configuration conf = new Configuration(); 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    conf.locale = myLocale; 
    getResources().updateConfiguration(conf, null); 
    setContentView(R.layout.activity_main); 
} 

把它放在setContentView()之前。 希望能解決您的問題。