最近刚接触FLEX,尝试第一个小例子就出现了如下错误:【1061: 调用可能未定义的方法 addItem (通过 static 类型 spark.components:List 引用)】
通过查询,原料flex3 中的list控件已经没有了addItem方法,而是使用ArrayCollection这个小编。下面贴出完整的例子代码,作为像我一样的新手的参考。
希望我们一起在flex的学习道理上越走越远。
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >
<!-- data model -->
<mx:Array id="coffeeArray">
<mx:Object>
<mx:label>Red Sea</mx:label>
<mx:data>Smooth and fragrant</mx:data>
</mx:Object>
<mx:Object>
<mx:label>Andes</mx:label>
<mx:data>Rich and pungent</mx:data>
</mx:Object>
<mx:Object>
<mx:label>Blue Mountain</mx:label>
<mx:data>Delicate and refined</mx:data>
</mx:Object>
</mx:Array>
<mx:Script>
<![CDATA[
import mx.controls.List;
import mx.collections.ArrayCollection;
function addToCart():void
{
if(cart.dataProvider==null){ cart.dataProvider=new ArrayCollection(); } ArrayCollection(cart.dataProvider).addItem(coffeeCombo.selectedItem.label); } ]]> </mx:Script> <!-- view --> <mx:Panel title="My First Flex App"> <mx:Label text="Coffee Blends"/> <mx:ComboBox id="coffeeCombo" dataProvider="{coffeeArray}"/> <mx:Text text="Description: {coffeeCombo.selectedItem.data}"/> <mx:Button label="Add to Cart" click="addToCart()"/> <mx:List id="cart" /> </mx:Panel></mx:Application>