使用setLocale()函数时如何获取语言值



我在main.java文件中编写了setLocale函数,如下所示。

如何在setLocale函数中获取当前的Locale

我使用CCD_;如果其他";条件。这意味着,我有两个数据表,当setLocale函数中的语言是英语时,我会选择英语表,当我选择另一种语言时,我将选择该语言表。

// main.java
public void setLocale(String lang) {
Locale myLocale = new Locale(lang);
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dm);
Intent refresh = new Intent(this, MainActivity2.class);
finish();
startActivity(refresh);
}

根据文档,使用语言作为参数来确定要做什么是不稳定的,但你仍然可以做到。使用Annamalai Palanikumar的上述方法,你可以做到以下几点:

if (getLocale().getLanguage().equals(new Locale("en").getLanguage())) {
// do something here
}

我希望这能为你指明正确的方向。祝你好运

您可以声明一个新方法来返回所选的区域设置,如下所示。并在另一个java文件中使用此方法。

public Locale getLocale() {
return getResources().getConfiguration().locale;
}

最新更新