Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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
Apache flex 获得;术语未定义”;尝试将arrayList分配给列表组件数据源时出错_Apache Flex_Actionscript_Datasource_Runtime Error - Fatal编程技术网

Apache flex 获得;术语未定义”;尝试将arrayList分配给列表组件数据源时出错

Apache flex 获得;术语未定义”;尝试将arrayList分配给列表组件数据源时出错,apache-flex,actionscript,datasource,runtime-error,Apache Flex,Actionscript,Datasource,Runtime Error,我正在创建一个在线游戏,人们在其中登录,然后显示当前玩家的列表。当用户进入一个“房间”时,它会发送一个SFSEvent,其中包含一个房间对象,该房间中的用户列表是该房间中的用户对象。作为该事件的回调函数,我获取当前用户的列表,它是一个数组,切换视图堆栈子索引,然后在将用户列表数组分配给MXML Spark list组件的数据源之前将其包装在ArrayList中。这是我的密码: 我的动作脚本代码部分(PreGame.as): 我的MXML代码: <?xml version="1.0" enc

我正在创建一个在线游戏,人们在其中登录,然后显示当前玩家的列表。当用户进入一个“房间”时,它会发送一个SFSEvent,其中包含一个房间对象,该房间中的用户列表是该房间中的用户对象。作为该事件的回调函数,我获取当前用户的列表,它是一个数组,切换视图堆栈子索引,然后在将用户列表数组分配给MXML Spark list组件的数据源之前将其包装在ArrayList中。这是我的密码:

我的动作脚本代码部分(PreGame.as):

我的MXML代码:

<?xml version="1.0" encoding="utf-8"?>
    <mx:ViewStack xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        xmlns:mx="library://ns.adobe.com/flex/mx"
        initialize="preGame_initializeHandler(event)"
        >

        <fx:Script source="PreGame.as"/>

        <s:NavigatorContent id="nc_loginScreen">

            /** Login Screen Code **/

        </s:NavigatorContent>

        /** Start of Waiting Room code **/
        <s:NavigatorContent id="waitingRoom">
            <s:Panel id="pn_users"
                     width="400" height="400"
                     title="Users">

                /** This is the List in question **/
                <s:List id="li_users"
                        width="100%" height="100%"/>

            </s:Panel>
        </s:NavigatorContent>
    </mx:ViewStack>

知道我做错了什么吗?arrayList有数据,所以我知道它不是空的。

使用数据绑定来解决计时问题:

<s:List id="li_users" dataProvider="{users}" width="100%" height="100%"/>

你的“this”指针在计时器函数中有效吗?哇,确实有效!我想,因为它是匿名函数,所以它可以访问父函数中的所有数据……哎呀!但是我真的很想确定所有变量的范围,那么既然我不能使用“this”关键字,我该如何确定列表组件的范围呢?请看我关于时间和这个范围的回答。啊,我知道数据绑定会起作用,但在这种情况下,如果可以的话,我想避免它……有没有办法代替“强制”呢要在调用辅助导航内容区域之前自动生成它?不知道为什么您不想使用数据绑定,但我想您可以在li_用户上添加creationComplete=“listReady()”。然后在listReady()中说li_user.dataProvider=newarraylist(room.userList)。这回答了你的问题吗?检查答案,看看你是怎么做的?
TypeError: Error #1010: A term is undefined and has no properties
<s:List id="li_users" dataProvider="{users}" width="100%" height="100%"/>
[Bindable]
public var users:ArrayList;

private function onRoomJoin(event:SFSEvent):void
{
    public room:Room = this._sfs.getRoomByName(PREGAME_ROOM);
    this.selectedChild = waitingRoom;
    users = new ArrayList(room.userList);
}