我正在尝试通过使用微调器更改我的 Android 应用程序的区域设置微调器包含语言列表微调器中的初始值将是英语但是当 Activity 加载时 Activity 会重复 Intent ..如果我将第一个值设置为选择然后它工作得很好,但我需要 Activity 的初始值是英文的。请帮我解决这个问题。
下面是我的语言微调器代码
位置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();
}
最佳答案
“Activity 初始值要英文”
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()之前。 希望这能解决您的问题。
关于Android 语言环境更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14892258/