一个list定义组件,网上找了很久没有,自己做了一个。

一个list定义组件,网上找了很久没有,自己做了一个。希望对大家有用!!!


一个list定义组件,网上找了很久没有,自己做了一个。

 

代码:MDICanvas是flexlib组件里面的,可以去找到这个swc,然后导入就行了。

<?xml version="1.0" encoding="utf-8"?>
<ns2:MDICanvas
    xmlns:ns2="flexlib.mdi.containers.*"
    xmlns:mx="http://www.adobe.com/2006/mxml"
    width="400" height="400"
    creationComplete="initApp()">
    <mx:Script>
        <![CDATA[
            import com.sunfairs.vo.BuildResourceVO;
            import mx.events.ListEvent;
            import mx.events.IndexChangedEvent;
            import mx.collections.ArrayCollection;
           
            private var listData:ArrayCollection = new ArrayCollection();
            private var listDataBuilding:ArrayCollection = new ArrayCollection() ;
            private var buildResourceArray:Array ;
           
            public function setBuildingData(buildResourceArray:Array):void
            {
                this.buildResourceArray = buildResourceArray ;
                for (var i:int = 0 ; i < this.buildResourceArray.length ; i ++)
                {
                    var brVO:BuildResourceVO = BuildResourceVO(this.buildResourceArray[i]) ;
                    var str:String = brVO.level +"级"+ brVO.buildType;
                    listDataBuilding.addItem(str) ;
                }
            }
           
            private function initApp():void {
                listData.addItem("I级粮田") ;
                listData.addItem("I级伐木场") ;
                listData.addItem("I级皮料") ;
                listData.addItem("I级铁矿") ;
            }
           
            private function onItemClick(event:ListEvent):void
            {
                    var selectName:String = String(event.rowIndex) ;
                    addBuild(selectName) ;
            }
           
           /**
            * 
            *
            *
            */
            private function addBuild(selectName:String):void
            {
                    switch (selectName)
                    {
                        case "0" :
                            this.listDataBuilding.addItem("I级粮田" ) ;
                           
                            addBuild2Array("粮田") ;
                            break ;
                        case "1" :
                            this.listDataBuilding.addItem("I级伐木场") ;
                            addBuild2Array("伐木场") ;
                            break ;
                        case "2" :
                            this.listDataBuilding.addItem("I级皮料") ;
                            addBuild2Array("皮料") ;
                            break ;
                        case "3" :
                            this.listDataBuilding.addItem("I级铁矿") ;
                            addBuild2Array("铁矿") ;
                            break ;
                    }
            }
           
            private function addBuild2Array(type:String):void
            {
                var brVO:BuildResourceVO = new BuildResourceVO() ;
                brVO.buildType = type ;
                brVO.level = 1 ;
                brVO.times = 5 ;
                this.buildResourceArray.push(brVO) ;
            }
           
            private function upgradeClick(event:MouseEvent):void
            {
                if (buildingList.selectedIndex == -1)
                {
                    return ;
                }
                var i:int = buildingList.selectedIndex ;
                var brVO:BuildResourceVO = BuildResourceVO(this.buildResourceArray[i]) ;           
                brVO.level ++ ;
                listDataBuilding.removeItemAt(i) ;
                listDataBuilding.addItemAt(brVO.level + "级" + brVO.buildType,i) ;
                buildingList.selectedIndex = i ;
            }
        ]]>
    </mx:Script>
        <mx:HBox>
            <mx:List id="buildNameList" x="22" y="12" height="185" dataProvider="{listData}" itemClick="onItemClick(event)"/>
            <mx:List id="buildingList" x="204" y="12" height="185" dataProvider="{listDataBuilding}"/>
        </mx:HBox>
        <mx:Button id="upgrade" label="升级" bottom="50" right="50"  click="upgradeClick(event)" />

</ns2:MDICanvas>

你可能感兴趣的:(xml,Adobe)