Tenta fazer um if(meuXML.meuatributo is Boolean) pra ver se está vindo como
boolean ou coloque um breakpoint na linha e roda
em modo Debug.
Eu acredito que não esteja vindo como Boolean e quando você compara, ele dá um
type cast para Boolean.
Se estiver como String e ela for != null, meuXML.meuatributo vai ser true,
talvez por isso o checkbox fica selecionado.
[]
Fábio
________________________________
De: [email protected] [mailto:[EMAIL PROTECTED] Em nome de Elvis
Fernandes
Enviada em: quinta-feira, 24 de abril de 2008 08:58
Para: [email protected]
Assunto: [flexdev] Do XML para o CheckBox - comportamento estranho
Bom dia, pessoal!
Gostaria de tirar uma dúvida e pedir a opinião de vocês sobre um
problema que eu tive aqui ... o problema foi resolvido, mas a situação foi um
pouco estranha ... vejam:
Minha aplicação recebe um XML e um dos atributos recebidos eu atribuo a
um CheckBox. Mais ou menos assim:
meuCheckBox.selected = meuXML.meuatributo;
O problema era que os checkboxes sempre ficavam selecionados,
independente do valor de meuXML.atributo.
Resolvi ver o que vinha nos atributos do XML (que é um resultado de uma
consulta ao BD). O XML recebido tem o atributo definido assim:
(...)
<meuatributo type="boolean">false</meuatributo>
(...)
Ao colocar esse valor em um alert, ele mostrava corretamente true ou
false, conforme esperado ...
Mas o problema continuava. Pra resolver, eu tive que fazer uma
verificação, assim:
meuCheckBox.selected = meuXML.meuatributo == true;
E passou a dar certo!
Ora ... a expressão é lógica, mas não tem sentido: se
meuXML.meuatributo já é igual a true ou false, porquê eu preciso verificar se
ele realmente é igual a true e atribuir o resultado da comparação à propriedade
selected do checkbox pra poder funcionar? Lembrando que mesmo que meuatributo
fosse igual a false no arquivo XML, antes ele marcava o checkbox como
selecionado ...
Fiquei intrigado com isso ... alguém tem algum palpite sobre o que
aconteceu?
Abraço!
Elvis Fernandes
www.elvis.eti.br
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---