내 앱 내에서 사용자가 보게되는 첫 번째 활동은 언어를 선택하는 것입니다.사용자가 내 앱에서 언어를 변경할 때 android : label의 텍스트가 변경되지 않는 이유는 무엇입니까?
사용자가 french를 선택한 다음 ActivityB로 이동 한 다음 ActivityC로 이동하면됩니다.
이제 언어를 변경하기로 결정했습니다.
그래서 ActivityB로 돌아간 다음 매우 첫 번째 활동으로 이동하여 스페인어로 언어를 선택합니다.
다시 ActivityB로 이동하면 조각/활동 내의 다른 모든 텍스트가 스페인어로 변경되지만 android : label은 여전히 프랑스어로 유지됩니다. 이 문제를 해결하는 방법? 내 ActivityA 내 경우
public View onCreateView(LayoutInflater inflater, ViewGroup container,
final Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_choose_language, container, false);
radioGroup = (RadioGroup) rootView.findViewById(R.id.lang_choice_radio);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
{
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch(checkedId){
case R.id.english_lang:
// do operations specific to this selection
setLocale("en_US");
Intent intentEng = new Intent(getActivity(), Choose_Country.class);
startActivity(intentEng);
break;
case R.id.indonesian_lang:
// do operations specific to this selection
setLocale("in");
Intent intent = new Intent(getActivity(), Choose_Country.class);
startActivity(intent);
break;
}
}
});
return rootView;
}
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);
Locale.setDefault(myLocale);
onConfigurationChanged(conf);
Intent refreshIntent = new Intent(getActivity(), ChooseLanguage.class); // refresh the activity
refreshIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
refreshIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(refreshIntent);
getActivity().finish();
}
그것이 이미 자리에있는 방법입니다. – user3705478
이 줄의 활동을 마치고 있습니다 getActivity(). finish(); 그런 다음 사용자가 [활동 B에서]이 활동 [A]로 어떻게 되돌아 갈 수 있습니까? –