Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何基于另一个类中的文本字段在一个类中填充数组?(Actionscript 3.0)_Actionscript 3 - Fatal编程技术网

Actionscript 3 如何基于另一个类中的文本字段在一个类中填充数组?(Actionscript 3.0)

Actionscript 3 如何基于另一个类中的文本字段在一个类中填充数组?(Actionscript 3.0),actionscript-3,Actionscript 3,我有一个班级(名单.as)。其中我有一个数组“Data”,它有两个值。然后我有一个循环,通过这个循环我创建了一个可滚动的列表,它使用来自“数据”数组的值。[我正在尝试制作单元转换器] 然后我有另一个类“Units.as”。在那个类中,我创建了三个“TheList”实例。主列表(“myList”),以及to子列表“ListFrom”和“ListTo”。他们正在使用“数据”数组中的值。现在我有了一个文本字段,它的值将更改为单击的任何项目。当我单击主列表中的“角度”时,我希望子列表中填充(“度”、“弧

我有一个班级(名单.as)。其中我有一个数组“Data”,它有两个值。然后我有一个循环,通过这个循环我创建了一个可滚动的列表,它使用来自“数据”数组的值。[我正在尝试制作单元转换器]

然后我有另一个类“Units.as”。在那个类中,我创建了三个“TheList”实例。主列表(“myList”),以及to子列表“ListFrom”和“ListTo”。他们正在使用“数据”数组中的值。现在我有了一个文本字段,它的值将更改为单击的任何项目。当我单击主列表中的“角度”时,我希望子列表中填充(“度”、“弧度”等)

这是我试过的

if(myList._TextLabel.text == "Angle")
{
ListFrom.Data = ["Degree", "Radian"];
}
但是什么也没有发生,我也没有得到任何错误。当我在“ENTER_FRAME”事件和跟踪(ListFrom.Data)中执行此操作时,我可以看到值发生了更改,但它们没有被分配给列表中的列表项。我真的很感激你的帮助。谢谢

这里有一些完整的类可以更好地理解这种情况(代码非常混乱,因为我是OOP的新手)

列表如下:
Units.as:

调用ListFrom.Data=[“度”、“弧度”],确保数据更改时,ListFrom中的渲染已设置为新数据。例如,您可以在ListFrom for show中使用MyRender,您应该在MyRender中的set data方法中进行调试。 在调用ListFrom.Data=[“Degree”,“Radian”]之后,应该调用下面的代码

for(变量i:int=0;i
您可以使用事件侦听器、单例类或将一个类引用到另一个类,具体取决于所需的样式。所有这些都同样有效且快速/高效。

未识别“MyRender”。我已更新了问题。你能看看这些课程,更好地了解我的情况吗。谢谢这是一个问题,我不能打开两级网站。MyRender是用于在列表中显示的类,列表由多个呈现组成。例如,渲染有一个图像,其中在渲染中调用set data函数,渲染将设置图像的url。在列表的函数initialize中,您不应该每次都创建一个新的ListContainer。相反,您应该只创建一次,在调用initialize函数的地方,您应该删除_容器的所有子容器,并且在添加listItem时,因为我不知道listItem如何工作,您可以调试到listItem.value中。最后,在添加所有子项的位置,检查_容器的宽度和高度。
for (var i:int = 0; i < Data.legnth;i++) {
    var render:MyRender = ListFrom[i] as MyRender;

    if (render) {
         render.data = Data[i];
    } else {
         var render:MyRender = new MyRender();
         render.data = Data[i];
         ListFrom.addChild(render);
    }
}