Android Studio:Locale.getDefault()。getLanguage()无效

时间:2018-01-23 13:06:49

标签: java android android-studio

我正在使用多语言功能编写一个小应用程序。

但是当我要检查默认语言时,它不会工作。有谁知道为什么?

代码:

String Lang = Locale.getDefault().getLanguage();
    if(Lang == "de") {
        Log.i("de", "de");
    }
    else if(Lang == "fr") {
        Log.i("fr", "fr");
    }
    else {
        Log.i("en", "en");
    }

3 个答案:

答案 0 :(得分:4)

if(Locale.getDefault()==Locale.GERMANY) {
    Log.i("de", "de");
}
else if(Locale.getDefault()==Locale.FRENCH) {
    Log.i("fr", "fr");
}
else {
    Log.i("en", "en");
}

答案 1 :(得分:1)

String lang = Locale.getDefault().getLanguage();
if(lang.equals("de")) {
    Log.i("de", "de");
} else if(lang.equals("fr")) {
    Log.i("fr", "fr");
} else {
    Log.i("en", "en");
}

答案 2 :(得分:0)

首先,您必须使用equals方法比较字符串,但在您的情况下,我将使用不同的方法

Locale local = Locale.getDefault();
if (locale.getLanguage().equals(new Locale("de").getLanguage())){ 
   Log.i("de", "de");
}
else if (locale.getLanguage().equals(new Locale("fr").getLanguage())){ 
   Log.i("fr", "fr");
}
else { 
   Log.i("en", "en");
}

结帐this