我在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;
}