Я новичок в android и хотел бы задать один вопрос. Пользователи моего приложения могут изменить язык в настройках приложения. Я обновляю конфигурацию после того, как пользователь сделает ваш выбор. Но как я могу обновить все представления на экране (в PreferenceActivity с TabHost) без перезапуска всего приложения (этот вариант я знаю, но так, как я читал в Google, нежелателен). Чтобы изменить язык внутри приложения, мы должны сделать 2 шага: 1. Создать новую конфигурацию с нашей новой локалью, затем обновить конфигурацию; 2. Обновите представления, перезапустив приложение, или обновите представление, сбросив ContenView. В моем случае я впервые добавляюPreferencesFromResource (R.xml.ulticlockwidget_settings). Не могли бы вы подсказать мне, как изменить язык в моем приложении и правильно изменить все представления на экране? Буду признателен за все советы.
Как обновить PreferenceActivity (который запускается из TabHost) после изменения языка (Locale) внутри Android-приложения
Ответы (2)
Если в вашем приложении не так много настроек, вы всегда можете получить их по одному и сбросить их текст. Когда вы снова задаете текст, он автоматически находит нужный текст с новым языковым стандартом
Другой вариант - перезапустить действие настроек. Вам не нужно перезапускать все приложение. Просто снова откройте действие предпочтений и завершите () старый экземпляр действия предпочтений.
person
tasomaniac
schedule
22.08.2012
Если вы хотите обновить активность после смены языка, вы можете использовать setContentView(R.layout.yourLayout)
и снова прочитать содержимое активности.
person
saman salehi
schedule
14.10.2012
К сожалению, в PreferenceActivity вы не можете вызвать setContentView (R.layout.yourLayout).
- person Alex Zezekalo; 20.11.2012