HorizontalList 动态添加数据,请帮忙!

persist_yu20082009 2010-04-07 04:58:04


<mx:HorizontalList >
<mx:dataProvider>
<mx:Array>
<mx:Object label="Backpack" icon="@Embed('images/backpack.jpg')"/>
<mx:Object label="Compass" icon="@Embed('images/compass.jpg')"/>
</mx:Array>
</mx:dataProvider>
</mx:HorizontalList>



上面是静态的 我要动态的 添加数据源

<mx:HorizontalList dataProvider="{arrobj}" >
<mx:dataProvider>
<mx:Array>
<mx:Object label="Backpack" icon="@Embed('images/backpack.jpg')"/>
<mx:Object label="Compass" icon="@Embed('images/compass.jpg')"/>
</mx:Array>
</mx:dataProvider>
</mx:HorizontalList>

<mx:Script>
[Bindable]
private var arrobj:Array = new Array();

public function addListObj():void{
var obj:Object=new Object();
obj.label="ffff";
arrobj.push(obj);
}
</mx:Script>


为什么执行addListObj()函数,HorizontalList的数据源没改变呢?没显示出来 ,请帮忙
...全文
99 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
persist_yu20082009 2010-04-08
  • 打赏
  • 举报
回复
我换成ArrayCollection ,显示的不是 "aaa" 而是[object object] 该如何显示啊!????
水中影子 2010-04-07
  • 打赏
  • 举报
回复
楼上正解


[Bindable]
private var listArr:ArrayCollection=new ArrayCollection();
private function init():void{
var obj:Object=new Object();
obj.label="aaa";
listArr.addItem(obj);
}
huangxin5257 2010-04-07
  • 打赏
  • 举报
回复
private var arrobj:Array = new Array();

换成ArrayCollection类型
添加方法换成
private var arrobj:ArrayCollection= new ArrayCollection();
arrobj.addItem(obj);

因为Array是半绑定类型,里面数据更改是不会触发绑定的。只有array重新执行另一个对象才触发绑定
但ArrayCollection则不同。

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧