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