Aquí está el problema: cuando tengo una actividad ejecutándose en segundo plano, cambio de configuración regional y cambio a la aplicación, todo se actualiza ... EXCEPTO casillas de verificación y botones de radio que tienen un conjunto de atributos "android: id".Problema de localización de Android: no todos los elementos del diseño se actualizan correctamente al cambiar de configuración
Si las casillas de verificación y los botones de opción no tienen el atributo "android: id", entonces se actualizan correctamente. Otros campos no tienen este problema, ya sea que tengan un atributo "android: id" o no.
¿Cuál es la mejor manera de asegurarse de que todo en mi actividad de ejecución se actualice cada vez que se cambie la configuración regional?
Pasos para reproducir:
1) crear un "Hola, Android" proyecto en Eclipse. 2) En la disposición principal, definir dos casillas de verificación:
<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) crear dos strings.xml: uno bajo "valores" y uno bajo "valores-ES".
4) Crear la siguiente cadena en "valores":
<string name="checkbox">English</string>
5) Crear la siguiente cadena en "valores-es"
<string name="checkbox">español</string>
6) Dispositivo de Ajuste a “Inglés”
7) Ejecute la aplicación en el emulador o en cualquier dispositivo (probado en HTC G1).
8) Observe. Ambas casillas de verificación dicen "inglés".
9) Presione "Inicio" para volver al menú y dejar la aplicación ejecutándose en segundo plano.
10) Ir a la configuración. Cambiar el idioma a “español"
11) Mantenga pulsado ‘Inicio’ volver a la aplicación
Resultado esperado:..
Ambas casillas de verificación dicen ‘español’
Resultado real:
primera casilla de verificación dice “Inglés”
casilla segundo dice “español”
Parece que la casilla de verificación con un atributo "android: id" no se está actualizando como debería. La casilla de verificación sin el atributo "android: id" funciona como se esperaba.
Un parche para corregir este comportamiento se han fusionado para dominar rama. Consulte https://android-review.googlesource.com/#/c/67850/ – victor