【发布时间】:2014-01-26 11:56:17
【问题描述】:
这是一个使用 Flash Builder 4.5 的基于视图的 Android 项目
在我的views.ListView 我有一个这样的列表元素
<s:List id = "myList" itemRenderer="components.myCustomRenderer" dataProvider="{Global.itemArrayList}"> </s:List>
Global 是我用来存储所有视图的共享值的类
myCustomRenderer 列表有一个deleteButton,点击后执行以下函数
public function deleteButtonnHandler(event:MouseEvent):void {
var removeItem:myItem = super.data as myItem;
this.parentApplication.navigator.activeView.myList.dataProvider.removeItem(removeItem);
}
它还覆盖了 set data 函数,如下所示
override public function set data(value:Object):void {
super.data = value;
nameText.text = value.name;
}
当我单击 deleteButton 时,我得到错误 #1009 说 nameText.text = value.name 访问空对象的属性行
我尝试直接从Global.itemArrayList 中删除该项目,但出现同样的错误。这是我第一次处理自定义 ItemRenderer 和 List,所以我不明白当一个项目被很好地删除时调度的事件。跟踪错误消息,我看到某种 dataProvider 更改事件已发送,但至于为什么会导致错误,我不知道。
除了这个错误,我的渲染器和列表工作正常。
我们将非常感谢能帮助我阐明这个主题并解决这个问题。
谢谢
【问题讨论】:
标签: actionscript-3 apache-flex runtime-error dataprovider flash-builder4.5