Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2011, 08:43
Avatar de javih
javih
 
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 13 años, 4 meses
Puntos: 12
Actualizar los recursos de las Activities

Hola,
Tengo una aplicación en varios idiomas, el idioma cambia según la configuración del terminal.

Pero además, en las preferencias de mi app, en una PreferenceActivity he añadido un menú para que el usuario pueda cambiar el idioma explícitamente.

Bueno, esto "funciona"

Código PHP:
private Preference.OnPreferenceClickListener prefClick = new 
Preference.OnPreferenceClickListener() { 
                        @
Override 
                        
public boolean onPreferenceClick(Preference preference) { 
                                
SharedPreferences sharedPrefs 
PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
                                
idioma sharedPrefs.getString("preferencia_idioma""NULL"); 
                                
Locale locale = new Locale(idioma); 
                                
Locale.setDefault(locale); 
                                
Configuration config = new Configuration(); 
                                
config.locale locale
                                
getBaseContext().getResources().updateConfiguration(config
getBaseContext().getResources().getDisplayMetrics()); 
                                
Log.d(logTag"Se ha seleccionado: " idioma); 
                                return 
false
                        } 
                }; 
Y en el Manifest.xml a todas las Activities le he añadido esto:: android:configChanges="locale"

Esto es para cuando el usuario seleccione uno de los idiomas en el Dialog cambie el idioma, ya digo funciona entre comillas, porque después de seleccionar el idioma hay que cambiar de Activities para que los recursos (strings, drawables, etc.) cambien, sino no hay manera.

Entonces necesitaría saber si hay algún método para actualizar todas esas Activities sin tener que ir cambiando entre Activities para que se actualice.

Saludos