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