문제가 있습니다. 의도 탭이있는 TabActivity가 있습니다. 내 응용 프로그램 사용자는 기본 설정에서 언어를 변경할 수 있습니다.TabActivity는 언어를 변경하지 않습니다
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1:
finish();
startActivity(getIntent());
break;
default:
break;
}
}
이 코드 실행 완벽하게 모든 텍스트가 변경된 언어이기 때문에 : 사용자 변경 언어와 응용 프로그램 내 TabActivity이 일에 돌아가 .
응용 프로그램을 다시 시작하면 문제가 발생합니다. 일부 텍스트의 언어가 올바르지 않습니다 (시스템 기본값). 환경 설정 화면을 다시 열고 TabActivity로 돌아 가면 텍스트가 모두 번역됩니다.
재시작 신청 후 모든 텍스트를 어떻게 번역 할 수 있습니까? 응용 프로그램을 처음 실행하면 모든 텍스트가 적절한 언어로 표시되지 않는 이유는 무엇입니까?
내 영어로 죄송합니다. 내 뜻을 이해하고 도와주세요. 고맙습니다.
String lang = preferences.getString("Language", "");
Configuration config = new Configuration();
if (!TextUtils.isEmpty(lang))
config.locale = new Locale(lang);
else
config.locale = Locale.getDefault();
Locale.setDefault(new Locale(lang));
getBaseContext().getResources().updateConfiguration(config, null);
tabActivity :
저장할 때이 PreferenceActivity를에서 코드
public class PlanActivity extends TabActivity {
SharedPreferences preferences;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(R.string.app_name);
preferences = getSharedPreferences(Constans.PREF, Activity.MODE_PRIVATE);
edytor = preferences.edit();
String lang = preferences.getString("Language", "en");
Configuration config = new Configuration();
if (!TextUtils.isEmpty(lang))
config.locale = new Locale(lang);
else
config.locale = Locale.getDefault();
Locale.setDefault(new Locale(lang));
getBaseContext().getResources().updateConfiguration(config, null);
setContentView(R.layout.main);
TabHost tabHost = getTabHost();
......... more
그리고이 코드가 제대로 작동하지 않습니다. 설정으로 가서 새로 고침 텍스트의 tabActivity로 돌아 가야합니다.
예. 나는 올바르게 저장한다 : 'private void setPreferences() { \t \t SharedPreferences.Editor edytor = preferences.edit(); \t \t edytor.putString ("Language", listLanguage.getValue()); \t \t edytor.commit(); \t}'' @Override \t 보호 공극 onPause() { \t \t super.onPause(); \t \t setPreferences(); ' – Castik
올바르게 저장하고 동일한 파일이라고 생각합니다. 나는 탭 라벨이 내가 원하는 것을 번역하기 때문에, 그러나 내용이 아니라고 생각한다. 환경 설정 화면으로 가서 TabActivity로 돌아 가면 모든 텍스트가 올바르게 표시됩니다. – Castik