if条件如何?
if(Locale.getDefault().equals("English")){
Log.i("Language","Englisch");
} else if(Locale.getDefault().equals("Deutsch")){
Log.i("Language","Deutsch");
}
这不会起作用
答案 0 :(得分:1)
Locale.getDefault()
将返回static
Locale
个对象,而不是String
。因此调用Locale.getDefault().equals("English")
将无效。
试试这个:
String language = Locale.getDefault().getLanguage();
if (language.equals("en"))
{
// Use English link
}
else if (language.equals("de"))
{
// Use German link
}
public String getLanguage()
在API级别1中添加
返回此Locale或的语言代码 如果没有设置语言,则为空字符串。
或者:
String language = Locale.getDefault().getDisplayLanguage();
if (language.equals("English"))
{
// Use English link
}
else if (...) { ....
public final String getDisplayLanguage()
在API级别1中添加等效于
getDisplayLanguage(Locale.getDefault())。
Here是其他可能性:
Locale.getDefault().getLanguage() ---> en
Locale.getDefault().getISO3Language() ---> eng
Locale.getDefault().getCountry() ---> US
Locale.getDefault().getISO3Country() ---> USA
Locale.getDefault().getDisplayCountry() ---> United States
Locale.getDefault().getDisplayName() ---> English (United States)
Locale.getDefault().toString() ---> en_US
Locale.getDefault().getDisplayLanguage()---> English
文档here。
答案 1 :(得分:1)
Locale.getDefault
会返回Locale
,而不是String
。如果您想了解有关该区域设置的更多信息,请在getLanguage
上致电getCountry
和Locale
。查找语言和国家/地区的ISO代码。res/values-en/
和res/values-de/
下,您可以定义特定于语言的字符串。