Pasar un valor en la piel a una matriz
Frecuentes
Visto 82 veces
0
I have a skin attached to a button. The skin has an image and a label on it. My question is how to pass the value of the label and place it into an array (when clicked) and remove the value (when clicked again)?
1 Respuestas
0
The Label's text
property in your Button's skin is actually an exact mirror of the Button's label
property. When you set a Button's label
, you automatically set the Label's text
in its skin. And the other way around for getting the property.
So to answer your question more concretely:
<s:Button label="hello" click="addOrRemove(event.currentTarget as Button)" />
.
private var myArray:Array = [];
private function addOrRemove(button:Button):void {
var label:String = button.label;
var index:int = myArray.indexOf(label);
if (index == -1) myArray.push(label);
else myArray.splice(index, 1);
}
Respondido 25 ago 12, 18:08
Actually i have a code in skin that randomize the text in label public function randomNumber(min:Number, max:Number):Number{ var Results:Number = Math.floor(Math.random()*max)+min; return Results; } I pass it in the text property of the label: <s:Label includeIn="disabled,down,over,up" horizontalCenter="0" text="{randomNumber(1,10)}" verticalCenter="0"/> <s:Label includeIn="disabled,down,over,up" horizontalCenter="0" text="{randomNumber(1,10)}" verticalCenter="0"/> I assigned the skin on the button and when I trace the label of the button, it has no label. - Mirage01
In the future, please provide that kind of relevant information in your question. Also, you shouldn't do this: you're putting logic in a Skin. The logical consequence is that you can't access the property from the host component. So, take that randomization logic out of the skin and apply it to the Button's 'label' property instead. - RIAstar
i tried to randomize the label property of a button. it is displayed. but when i put a skin into the button the text disappeared. so i created a label inside the skin so the text is displayed. Is there a way to pass the value of the label in skin into the button's label property? - Mirage01
I can only repeat: you shouldn't do this. If you absolutely have to: dispatch a custom event carrying the data. But I strongly advise against it. - RIAstar
You can store the button itself in the array, instead of its label. That would be unique. You can still retrieve its label whenever you need it. - RIAstar
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas actionscript-3 apache-flex flex4 flash-builder or haz tu propia pregunta.
Con
the value of the label
, you mean itstext
¿propiedad? - RIAstarYes, its text property. I have no idea how to get the "text" property of the label from the skin. - Mirage01