프로그래밍 방식으로 프로그램 언어를 설정하려고하지만 일부 문자열 만 변경됩니다. 값 폴더에는 영어로 된 기본 문자열이 있습니다. 그런 다음 값 - fr을 만들고 모든 문자열을 프랑스어로 번역 했으므로 이제는 영어 문자열이있는 기본 값 폴더가 있습니다 .xml 및 값 - fr 폴더에 내 프랑스어 strings.xml이 있습니다.언어가 변경되지 않습니다
및 여기에 내가 언어에서 onCreate와 onResume 변경하는 데 사용하는 코드입니다 :
String languageToLoad = "fr"; // your language
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
하지만 그것은 단지 내 취향의 모든 문자열이 바뀌지 예를 들어, 문자열의 일부를 변경하지만 주요 활동에서 문자열은 동일하게 유지 . 어떤 아이디어가 그 원인이 될 수 있습니까?
활동보기를 부 풀리기 전에 해당 코드가 호출 되었습니까? – UgglyNoodle
'getBaseContext()'를 제거하십시오. 'getBaseContext(). getResources() ...'대신에'getResources() ...'를 시도하십시오. – pawelzieba
예, onCreate와 onResume에서 호출되었습니다. –