语言未设置为默认的Android Studio

问题描述

我制作了一个应用程序,并按照android开发人员的说明添加了西班牙语作为区域设置语言,以便在将手机设置为西班牙语时Android自动更改为西班牙语。

将电话设置为西班牙语或英语时,它可以正常工作,但是在任何其他语言下,它都不会更改为认语言(英语)。如果我在手机上使用过西班牙语,并将其更改为其他语言,它将保持西班牙语,而不是更改为认英语。

Values folder

我的清单与认创建的清单几乎相同:

Manifest

除main之外的所有活动都具有与清单中图片中所示的参数完全相同的参数。

The project gradle looks like this

这是代码中我称为Locale类的唯一部分,用于将当前语言保存在数据库中以用于其他用途。

        if(Locale.getDefault().getLanguage().equals("es")){
            //setLocale("es");
            try {
                helper=new sqlHelperGeneral(this);
                helper.openDB();
                helper.updateLanguage("es");
                helper.close();
            } catch (IOException e) {
                // Todo Auto-generated catch block
                e.printstacktrace();
            }
        }else{
            try {
                helper=new sqlHelperGeneral(this);
                helper.openDB();
                helper.updateLanguage("en");
                helper.close();
            } catch (IOException e) {
                // Todo Auto-generated catch block
                e.printstacktrace();
            }
        }

我找不到我的应用仅正确设置英语和西班牙语语言的原因,并且当语言不是这两种语言之一时,仍保持与以前相同。

有什么可能发生的想法吗?

解决方法

我找到了答案。我花了一些时间来寻找答案,一些解决方案被迫在Otu上查看Manifest上的defaultConfig,但是将应用程序设置为仅检测英语和西班牙语的值是在项目的构建gradle中的resConfig。

如果尝试以编程方式更改语言,请注意不要设置上述设置,否则它将不会自动检测到其他任何语言。