MainActivity.java
에 내 앱 언어를 선택하고 올바르게 작동하지 않는 경우가 있습니다. FetchUserLanguage
에서(Android) 언어가 올바르게 작동하지 않습니다.
if(!SaveSharedPreference.getUserId(MainActivity.this).equals("")) {
if (SaveSharedPreference.getWhoLoggedIn(MainActivity.this).equals("Main_User")) {
FetchUserLanguage fetchUserLanguage = new FetchUserLanguage();
fetchUserLanguage.execute();
}
} else {
sDefSystemDefaultLanguage = Resources.getSystem().getConfiguration().locale;
Configuration configuration = new Configuration();
configuration.locale = sDefSystemDefaultLanguage;
getBaseContext().getResources().updateConfiguration(configuration, getBaseContext().getResources().getDisplayMetrics());
}
내 데이터베이스에서 각 사용자의 언어를 (제대로 값을 반환) 받고 있어요 :
이는 onCreate
방법에 내 코드입니다.
나는 Locale
을 설정하는 방법은 다음과 같습니다
@Override
protected void onPostExecute(String result) {
switch (result) {
case "English":
locale = new Locale("en");
configuration = new Configuration();
configuration.locale = locale;
getBaseContext().getResources().updateConfiguration(configuration,
getBaseContext().getResources().getDisplayMetrics());
break;
case "Deutsch":
locale = new Locale("de");
configuration = new Configuration();
configuration.locale = locale;
getBaseContext().getResources().updateConfiguration(configuration,
getBaseContext().getResources().getDisplayMetrics());
break;
default:
locale = Resources.getSystem().getConfiguration().locale;
configuration = new Configuration();
configuration.locale = locale;
getBaseContext().getResources().updateConfiguration(configuration,
getBaseContext().getResources().getDisplayMetrics());
break;
}
}
나는 안드로이드 스튜디오에서 응용 프로그램을 실행하면 완벽 작동하고 모든 응용 프로그램이 선택한 언어로 설정되어 있습니다,하지만, 만약 내가 닫은 후 다시 열면 첫 번째 화면이 영어로 표시되고 다른 한 화면은 독일어로 표시됩니다. 장치의 언어는 영어이므로 Android 프로젝트의 기본 언어를 사용하십시오.
아마도 나는 뭔가를 놓치고 있습니다.
대단히 감사합니다.
사용자가 언어를 저장 SWICH는 경우. 시작 화면이 표시되거나 다시 실행 한 후 앱에 저장된 언어를 설정합니다. –