Как обновить PreferenceActivity (который запускается из TabHost) после изменения языка (Locale) внутри Android-приложения

Я новичок в android и хотел бы задать один вопрос. Пользователи моего приложения могут изменить язык в настройках приложения. Я обновляю конфигурацию после того, как пользователь сделает ваш выбор. Но как я могу обновить все представления на экране (в PreferenceActivity с TabHost) без перезапуска всего приложения (этот вариант я знаю, но так, как я читал в Google, нежелателен). Чтобы изменить язык внутри приложения, мы должны сделать 2 шага: 1. Создать новую конфигурацию с нашей новой локалью, затем обновить конфигурацию; 2. Обновите представления, перезапустив приложение, или обновите представление, сбросив ContenView. В моем случае я впервые добавляюPreferencesFromResource (R.xml.ulticlockwidget_settings). Не могли бы вы подсказать мне, как изменить язык в моем приложении и правильно изменить все представления на экране? Буду признателен за все советы.


person Alex Zezekalo    schedule 22.08.2012    source источник


Ответы (2)


Если в вашем приложении не так много настроек, вы всегда можете получить их по одному и сбросить их текст. Когда вы снова задаете текст, он автоматически находит нужный текст с новым языковым стандартом

Другой вариант - перезапустить действие настроек. Вам не нужно перезапускать все приложение. Просто снова откройте действие предпочтений и завершите () старый экземпляр действия предпочтений.

person tasomaniac    schedule 22.08.2012

Если вы хотите обновить активность после смены языка, вы можете использовать setContentView(R.layout.yourLayout) и снова прочитать содержимое активности.

person saman salehi    schedule 14.10.2012
comment
К сожалению, в PreferenceActivity вы не можете вызвать setContentView (R.layout.yourLayout). - person Alex Zezekalo; 20.11.2012