Avisos

Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 15/06/12, 16:21:29
Array

[xs_avatar]
monchyrcg monchyrcg no está en línea
Miembro del foro
 
Fecha de registro: sep 2011
Localización: Cartagena
Mensajes: 384
Modelo de smartphone: LG Optimus Black
Tu operador: Orange
Doble consulta relacionada.

Código:
Código:
@Override
       public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
         
      }
        
	@Override
	protected void onStart() {
		// TODO Auto-generated method stub
		super.onStart();
		boton=(Button)findViewById(R.id.emergenciasInfo);
        boton.setOnClickListener(this);
        boton2=(Button)findViewById(R.id.violenciaInfo);
        boton2.setOnClickListener(this);
	}

@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		MenuInflater inflater = this.getMenuInflater();
		inflater.inflate(R.menu.menu, menu);
		return true;
	}
	
	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		
		switch(item.getItemId()){
			case R.id.espanol:
				mLocale = new Locale("");
			    Locale.setDefault(mLocale); 
			    config = getBaseContext().getResources().getConfiguration(); 
			    if (!config.locale.equals(mLocale)) { 
			        config.locale = mLocale; 
			        getBaseContext().getResources().updateConfiguration(config, null); 
			    }
			    setContentView(R.layout.main);
			    break;
			case R.id.catalan:
				mLocale = new Locale("ca");
			    Locale.setDefault(mLocale); 
			    config = getBaseContext().getResources().getConfiguration(); 
			    if (!config.locale.equals(mLocale)) { 
			        config.locale = mLocale; 
			        getBaseContext().getResources().updateConfiguration(config, null); 
			    }
			    setContentView(R.layout.main);
			    break;
			case R.id.ingles:
				mLocale = new Locale("en");
			    Locale.setDefault(mLocale); 
			    config = getBaseContext().getResources().getConfiguration(); 
			    if (!config.locale.equals(mLocale)) { 
			        config.locale = mLocale; 
			        getBaseContext().getResources().updateConfiguration(config, null); 
			    }
			    setContentView(R.layout.main);
			    break;
		
			case R.id.euskera:
				mLocale = new Locale("eu");
			    Locale.setDefault(mLocale); 
			    config = getBaseContext().getResources().getConfiguration(); 
			    if (!config.locale.equals(mLocale)) { 
			        config.locale = mLocale; 
			        getBaseContext().getResources().updateConfiguration(config, null); 
			    }
			    setContentView(R.layout.main);
			    break;
		}
		return super.onOptionsItemSelected(item);
	}

	
	public void onClick(View v) {
		switch(v.getId()){
		case R.id.emergenciasInfo:
			ServicioEmergencias.this.startActivity(new Intent(ServicioEmergencias.this,EmergenciasInfo.class));
			break;
		case R.id.violenciaInfo:
			ServicioEmergencias.this.startActivity(new Intent(ServicioEmergencias.this,ViolenciaInfo.class));
			break;
		
		}
		
	}
La aplicación es bastante sencilla, dos textview, tiene dos botones los cuales lo único que hacen es llamar a otra actividad, por otra parte tiene un menu donde puedo elegir cambiar el idioma de la aplicación, el idioma de los textView y de los botones me los cambia pero no el del menu. Por otra parte los listener de los botones me dejan de funcionar cuando cambio el idioma.
Alguien le ha pasado? Hay una manera más elegante para que el usuario pueda elegir el idioma de la aplicación desde la propia aplicación? Muchas gracias.

Última edición por monchyrcg Día 17/06/12 a las 19:37:22.
Responder Con Cita


  #2  
Viejo 16/06/12, 15:56:52
Array

[xs_avatar]
monchyrcg monchyrcg no está en línea
Miembro del foro
 
Fecha de registro: sep 2011
Localización: Cartagena
Mensajes: 384
Modelo de smartphone: LG Optimus Black
Tu operador: Orange
Nadie sabe nada!!????

Enviado desde mi LG-P970 usando Tapatalk 2
Responder Con Cita
  #3  
Viejo 16/06/12, 17:59:54
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Por lo que cuentan en un hilo de stackoverflow no es muy recomendable cambiar el "locale" dinámicamente porque Android luego hace cosas raras. Entiendo que te has topado con las cosas raras...
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #4  
Viejo 17/06/12, 19:37:03
Array

[xs_avatar]
monchyrcg monchyrcg no está en línea
Miembro del foro
 
Fecha de registro: sep 2011
Localización: Cartagena
Mensajes: 384
Modelo de smartphone: LG Optimus Black
Tu operador: Orange
Cierto. Llevo todo el fin de semana buscando por la red y todo el mundo igual. Nada de cambiar el lenguaje de la aplicación de manera dinámica.

En fin gracias a todos
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 23:35:21 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /