Android语言环境更改

Android语言环境更改,android,android-intent,locale,Android,Android Intent,Locale,我正在尝试使用微调器更改android应用程序的区域设置微调器包含语言列表微调器中的初始值为英语,但当活动加载时,活动会重复进行。。如果我将第一个值设置为select,那么它工作正常,但我需要活动的初始值为英语。请在这个问题上帮助我 下面是我的语言微调器代码 位置0是英语 位置1是印地语 language.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override

我正在尝试使用微调器更改android应用程序的区域设置微调器包含语言列表微调器中的初始值为英语,但当活动加载时,活动会重复进行。。如果我将第一个值设置为select,那么它工作正常,但我需要活动的初始值为英语。请在这个问题上帮助我

下面是我的语言微调器代码

位置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");
            }

        }
“活动的初始值应为英语”

将其置于setContentView()之前。 希望这能解决你的问题

    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();
}
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);
}