语言没有从印地语变回英语

问题描述 投票:0回答:1

我的代码运行良好,并且正在将语言从英语更改为印地语,但是当我们再次单击它时,它不会变回英语

       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 消息,当单击语言时,它显示将语言更改为印地语,当我们再次单击时,它显示将语言更改为英语,但语言正在更改

我不知道该怎么办

java android sharedpreferences
1个回答
0
投票

尝试用

.setLocale(Settings.this,"en");
代替
.setLocale(Settings.this,"eng");

语言代码可能会导致问题,有关语言代码参考,请参阅此链接

© www.soinside.com 2019 - 2024. All rights reserved.