我的代码运行良好,并且正在将语言从英语更改为印地语,但是当我们再次单击它时,它不会变回英语
SharedPreferences sharedPreferences = getSharedPreferences("Language",MODE_PRIVATE);
SharedPreferences.Editor editor1 = sharedPreferences.edit();
language.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (sharedPreferences.getString("lang","eng").equals("eng")){
Toast.makeText(Settings.this, "Changing Language to Hindi", Toast.LENGTH_SHORT).show();
context = LocaleHelper.setLocale(Settings.this,"hi");
resources = context.getResources();
editor1.putString("lang","hi");
editor1.apply();
startActivity(new Intent(Settings.this,Settings.class));
}
else {
Toast.makeText(Settings.this, "Changing Language to English", Toast.LENGTH_SHORT).show();
context = LocaleHelper.setLocale(Settings.this,"eng");
resources = context.getResources();
editor1.putString("lang","eng");
editor1.apply();
startActivity(new Intent(Settings.this,Settings.class));
}
}
});
我正确地收到了 Toast 消息,当单击语言时,它显示将语言更改为印地语,当我们再次单击时,它显示将语言更改为英语,但语言正在更改
我不知道该怎么办
尝试用
.setLocale(Settings.this,"en");
代替 .setLocale(Settings.this,"eng");
。
语言代码可能会导致问题,有关语言代码参考,请参阅此链接。