我在android中制作了一个多语言应用程序。在我的语言选择活动中,我让用户选择他们的首选语言。当用户选择我使用以下代码更改应用程序的配置时:
Locale locale = new Locale(lang);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
现在在加载活动之前我想检查用户是否更改了语言环境,或者它是否相同。 我想获得活动的语言环境。我知道如何获取应用程序区域设置...
答案 0 :(得分:1)
首先将以下内容添加到AndroidManifest.xml中的activity标记
<activity
.....
android:configChanges="locale"
....>
.....
</activity>
以上将使应用程序能够在语言和语言环境中更改配置时进行更新。
在Activity类中使用以下java编码,最好在onResume()和onCreate()方法中。
public class localeExample extends Activity {
Locale l;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
l=new Locale();
l=Locale.getDefault();
}
/** Called when the activity is resumed. */
@Override
protected void onResume(){
super.onResume();
l=new Locale();
l=Locale.getDefault();
}
}