Foros del Web » Programando para Internet » Android »

Actualizar los recursos de las Activities

Estas en el tema de Actualizar los recursos de las Activities en el foro de Android en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 27/10/2011, 08:43
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 12 años, 8 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
  #2 (permalink)  
Antiguo 27/10/2011, 08:47
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 12 años, 8 meses
Puntos: 12
Respuesta: Actualizar los recursos de las Activities

¿Cómo se pone el tag para código Java?
  #3 (permalink)  
Antiguo 27/10/2011, 15:47
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Actualizar los recursos de las Activities

Hola,

Cita:
Iniciado por javih Ver Mensaje
... 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. ...
No tengo ni idea.

Cita:
Iniciado por javih Ver Mensaje
¿Cómo se pone el tag para código Java?
Esta si, cuando vas a responder .. en el combobox que dice Highlight, al final dice otro, y simplemente colocas la palabra Java.
Código Java:
Ver original
  1. public static void main(String args) {}
O usas cualquier otro y cambias HIGHLIGHT="HTML" por Java.
(A ver si sale ...)
[HIGHLIGHT="Java"]codigo[/HIGHLIGHT]

Saludos,
  #4 (permalink)  
Antiguo 27/10/2011, 22:51
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 12 años, 8 meses
Puntos: 12
Respuesta: Actualizar los recursos de las Activities

Gracias,

En cuanto a la primera pregunta, me han dicho que haciendo un refresh, pero eso cierra la activity, y yo tengo varias porque tengo un TabHost y cargo unas cuatro activities, pero no quisiera que se cerrasen las activities ya que podrían estar ejecutando algún proceso en segundo plano, con un AsyncTask o Service y creo que esto haría que se parase.

Saludos

Etiquetas: recursos, apps, idiomas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:21.