Apache flex Flex3:如何确定泛型对象是否实际上是按钮?
我有这段代码,但它没有像我预期的那样工作。btnContainer是一个包含大量按钮的VBox(toggle=true);我想在某一点将它们重置为未切换Apache flex Flex3:如何确定泛型对象是否实际上是按钮?,apache-flex,actionscript-3,Apache Flex,Actionscript 3,我有这段代码,但它没有像我预期的那样工作。btnContainer是一个包含大量按钮的VBox(toggle=true);我想在某一点将它们重置为未切换 for (var btn:Object in btnContainer.getChildren()){ if (btn.isPrototypeOf(mx.controls.Button)){ btn.selected = false; } } 在上面的代码中,“btn”在循环的每次迭代(0,1,2,3,…)中仅
for (var btn:Object in btnContainer.getChildren()){
if (btn.isPrototypeOf(mx.controls.Button)){
btn.selected = false;
}
}
在上面的代码中,“btn”在循环的每次迭代(0,1,2,3,…)中仅显示为索引,条件的计算结果从不为true
我也试过:
for (var btn:Button in btnContainer.getChildren()){
btn.selected = false;
}
这很好,除了BTN容器内还有一个标签;因此,当试图将标签转换为按钮时,它会抛出一个错误
我做错了什么,这里?您是否尝试过使用
is
import mx.controls.Button;
//...
for (var key in btnContainer.getChildren()){
var obj : Object = btnContainer[key];
if (obj is Button){
var button : Button = obj as Button;
button.selected = false;
}
}
您是否尝试过使用
is
import mx.controls.Button;
//...
for (var key in btnContainer.getChildren()){
var obj : Object = btnContainer[key];
if (obj is Button){
var button : Button = obj as Button;
button.selected = false;
}
}
如果要在数组元素之间循环,请在循环中为每个..使用“
”,如果要查看变量是否与给定类型(例如给定类的实例)兼容,请使用is
运算符
这种情况下,语言的参考是不正确的
以下是固定代码:
for each (var btn:Object in btnContainer.getChildren()){
if (btn is Button){
btn.selected = false;
}
}
如果要在数组元素之间循环,请在
循环中为每个..使用“”,如果要查看变量是否与给定类型(例如给定类的实例)兼容,请使用is
运算符
这种情况下,语言的参考是不正确的
以下是固定代码:
for each (var btn:Object in btnContainer.getChildren()){
if (btn is Button){
btn.selected = false;
}
}
啊,我放弃了“每个”部分,因为我有一个大脑放屁,并认为它是可选的。有道理,谢谢。如果没有“each”,它意味着一些不同的东西:它将迭代元素的属性,一种类型内省(有时可能有用)。啊,我放弃了“each”部分,因为我有一个大脑屁,认为它是可选的。有意义,谢谢。如果没有“each”,它的意思就不同了:它将迭代元素的属性,这是一种类型内省(有时可能有用)。