Comunidad de diseño web y desarrollo en internet online

MultiIdioma

Citar            
MensajeEscrito el 22 Dic 2012 11:51 am
Hola, dispongo de un archivo xml con diferentes valores para el idioma de la aplicación. Lo cargo correctamente a través de un loader a un array.
Mi pretensión, es usar una pequeña función para establecer el idioma de una etiqueta por ejemplo.
al pulsar en el link de cambio de idioma, el array toma correctamente los nuevos valores pero el label no cambia.

Pueden ayudarme,
Grácias y dentro de lo que cabe, mis mejores deseos para el nuevo año.

Código:
En fx:Script:
public var curdatalanguage:Array;

public function getText(ilng:Number,defstr:String):String {
if ( curdatalanguage == null ){
return defstr;
} else {
return curdatalanguage[0][ilng].toString();
}
}

en diseño:
<s:Label id="lbl1" text="{getText(1,'prueba')}" fontSize="14" horizontalCenter="40" verticalCenter="60"/>

Por JPNET

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Dic 2012 01:05 pm
El problema es que se ejecutará getText en el creationComplete del label antes que se termine de cargar el XML. Si quieres que funcione, deberás esperar que termine de cargar y parsear el XML antes de mostrar el label

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Ene 2013 08:15 am
BuenAS:

Al hacer el binding de la función getText debes pasarle como parámetro algún valor Bindable. Ahora le estás pasando 2 valores fijos (1,'prueba').

En lugar de esos dos valores crea dos variables [Bindable]. Por ejemplo:

Código ActionScript :

[Bindable] public var lang:int;
[Bindable] public var message:String;

Código Flex :

<s:Label id="lbl1" text="{getText(lang, message)}" fontSize="14" horizontalCenter="40" verticalCenter="60"/>


Ahora, en el momento que des valores a lang y message, por ser [Bindable] se actualizarán en la función getText, la cual debe devolver el valor y rellenar la propiedad text del Label 'lbl1'

Resumiendo, para que se ejecute una función a la que le has hecho un binding, los parámetros también deben ser bindable; o por lo menos, aquel parámetro que, cuando cambie, quieres que actualize el valor del componente (en este caso, el Label).

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 04 Ene 2013 05:41 am
Grácias, lo intentaré poner en práctica hoy mismo y comento.

Por JPNET

10 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.