Вот проблема: когда у меня в фоновом режиме выполняется действие, и я переключаю языковые стандарты и снова переключаюсь в приложение, все обновляется ... ЗА ИСКЛЮЧЕНИЕМ флажков и переключателей, для которых установлен атрибут «android: id».
Если флажки и переключатели не имеют атрибута "android: id", тогда они обновляются, OK.Другие поля не имеют этой проблемы, имеют ли они атрибут «android: id» или нет.
Каков наилучший способ убедиться, что все в моей беговой деятельности обновляется всякий раз, когда изменяется языковой стандарт?
Шаги для воспроизведения:
1) Создайте проект «Hello, Android» в Eclipse.2) В основном макете определите два флажка:
<CheckBox android:text="@string/checkbox" android:id="@+id/CheckBox01" android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox>
<CheckBox android:text="@string/checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox>
3) Создайте два файла strings.xml: один в разделе «values» и один в разделе «values-es».
4)Создайте следующую строку в «values»:
<string name="checkbox">English</string>
5) Создайте следующую строку в «values-es»
<string name="checkbox">español</string>
6) Установите для устройства значение «English»
7) Запустите приложение на эмуляторе или на любом устройстве (проверено на HTC G1).
8) Наблюдайте.На обоих флажках указано «Английский».
9) Нажмите «Домой», чтобы вернуться в меню и оставить приложение работающим в фоновом режиме.
10) Перейти к настройкам.Переключите язык на «español»
11) Нажмите и удерживайте «Домой». Вернитесь к приложению.
Ожидаемый результат:
Оба флажка говорят «español»
Фактический результат:
Первый флажок говорит «английский»
Второй флажок говорит «español»
Похоже, что флажок с атрибутом «android: id»не обновляется должным образом. Флажок без атрибута «android: id» работает должным образом.