2013-02-15 172 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()之前。 希望能解决您的问题。