문제

I'm having a problem where if I open my android app and then go into the system settings to change the language and then open the app again, some strings in the app won't be translated unless the app is force quit and relaunched. Any idea why this happens? I don't have android:configChanges set to "locale" anywhere in my AndroidManifest, so doesn't this mean all activities should be restarted on their own?

도움이 되었습니까?

해결책 2

Finally figured out the problem. The strings that weren't being translated were being populated within a static class. So because this class was only being instantiated once, the strings weren't getting re-populated again with the proper translations.

다른 팁

I also had this issue.I used the code below which was posted in some StackOverflow answer and then it changed the language without refreshing the activity

public void setLocale(String lang) {

    myLocale = new Locale(lang);
    Resources res = getResources();
    DisplayMetrics dm = res.getDisplayMetrics();
    Configuration conf = res.getConfiguration();
    conf.locale = myLocale;
    res.updateConfiguration(conf, dm);
    onConfigurationChanged(conf);

}

@Override
public void onConfigurationChanged(Configuration newConfig) {
    // refresh your views here
    lblLang.setText(R.string.langselection);
    super.onConfigurationChanged(newConfig);
}

I hope it would help you.......

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top