我有这个错误,我不知道如何解决。请帮助我,因为我对Flex世界非常陌生。
我有这个函数返回一个ArrayList。
public function createDataProvider():ArrayList
{
....
return new ArrayList(imgArray);
}
稍后,我在这里使用它:
<s:List id="pubmapList"
dragEnabled="false" dropEnabled="false" dragMoveEnabled="false"
dataProvider="{createDataProvider}">
在这里,我收到一条错误说:将类型值隐式强制转换为不相关类型mx.collections.ilist
我认为IList实现包括ArrayList。任何建议表示赞赏。谢谢!
答案 0 :(得分:1)
我认为问题在于createDataProvider是一个函数。所以
dataProvider="{createDataProvider}"
绑定到函数,而不是函数的结果。相反,试试这个:
dataProvider="{createDataProvider()}"
更好的是绑定到一个属性,所以你可以使用[Binding] -metatag,例如:
[Bindable]
private var _array:ArrayList;
public function createDataProvider() : void
{
...
_array = new ArrayList(data);
}
<s:List dataProvider="{_array}" />
现在对_array的任何更改都会自动更新所有绑定。