我是android广告的新手,我试图创建一个微调器来更改应用内的语言 通过localehelper,我不得不为应用程序使用recreate方法来重新加载适当的字符串资源 但是微调器创建了一个无限循环,并不断反复调用recreate方法并刷新活动 这是它的代码
languageSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView adapter, View v, int i, long lng) {
int mNumber = 0;
if(i == 0){
LocaleHelper.setLocale(MainActivity.this, mLanguageCodeEn);
recreate();
mNumber = 1;
}else if(i == 1){
LocaleHelper.setLocale(MainActivity.this, mLanguageCodeAr);
recreate();
mNumber = 0;
}
if(mNumber == 1){
languageSpinner.setSelection(0, false);
}else if (mNumber == 0){
languageSpinner.setSelection(1, false);
}
}
@Override
public void onNothingSelected(AdapterView arg0) {
}
});
我试图找到解决此问题的方法,并使用变量(mNumber)来使onItemSelected在mNumber匹配该值时被忽略。 if语句分配给它,但是那没用