0

私は困惑しています。乱数ジェネレーターからスパーク リスト コントロールを作成しようとしています。スパーク リスト宣言で dataProvider として指定する arrayList に乱数を追加できます。しかし、そのリストには乱数は表示されません! 私が間違って何をしているのかわかりません。あなたの助けに感謝します。ありがとうございました!

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 

               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
               creationComplete="init()">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->

    </fx:Declarations>


    <fx:Script>
        <![CDATA[

            import flash.events.MouseEvent;

            import mx.collections.ArrayCollection;
            import mx.collections.ArrayList;
            import mx.core.DragSource;
            import mx.events.DragEvent;
            import mx.managers.DragManager;

        //  [Bindable]
            //public var num1:String;

            [Bindable]
            public var arrayList:ArrayList = new ArrayList();


            var maxNum: Number;
            var minNum: Number;

            function RandomNumber(minNum: Number, maxNum:Number): Number {

                return (Math.floor(Math.random() * (maxNum - minNum +1)) + minNum);}

            protected function h_slider_changeHandler(event:Event):void
            {
                // TODO Auto-generated method stub
                main_number.text = (h_slider.value.toString());
                number_1.text = String(RandomNumber(0,100));
                number_2.text = String(RandomNumber(0,100));
                number_3.text = String(RandomNumber(0,100));
                number_4.text = String(RandomNumber(0,100));

                var num1 = String(number_1.text);


                 var arrayList:ArrayList = new ArrayList([{numberone:num1}]);




            }

        ]]>
    </fx:Script>

    <s:Panel x="49" y="30" width="866" height="541">
        <s:controlBarContent/>



        <mx:HBox id="myHB">
        </mx:HBox>


        <s:TextArea id="number_1" x="56" y="10" width="74" height="74" />
        <s:TextArea id="number_2" x="56" y="387" width="74" height="74"/>
        <s:TextArea id="number_4" x="694" y="10" width="74" height="74"/>
        <s:TextArea id="number_3" x="703" y="387" width="74" height="74"/>
        <s:TextArea id="main_number" x="338" y="97"/>

        <s:TextArea id="drag_to_1" x="194" y="97" width="78" height="80" />
        <s:TextArea id="drag_to_2" x="194" y="284" width="78" height="80"/>
        <s:TextArea id="drag_to_3" x="568" y="97" width="78" height="80"/>
        <s:TextArea id="drag_to_4" x="568" y="284" width="78" height="80"/>
        <s:TextArea x="337" y="298" height="66"/>



        <s:HSlider id="h_slider" x="243" y="434" width="403" height="14"
                   change="h_slider_changeHandler(event)" maximum="100" minimum="0"
                   value="100"/>

        <s:List id="List1" x="56" y="181" width="110" height="92" dataProvider="{arrayList}"
                 dragEnabled="true" labelField="numberone" >

        </s:List>

    </s:Panel>
</s:Application>
4

2 に答える 2

0

@Guntherの観察と同様に、次の割り当てarrayList

var arrayList:ArrayList = new ArrayList([{numberone:num1}]);

arrayList新しいローカル変数を作成し、インスタンス変数(リストにバインドされている変数)を割り当てません。

于 2013-01-30T21:57:02.820 に答える
0

初期化しない変数が 2 つあります。

var maxNum: Number;
var minNum: Number;

これらの変数は関数内の変数と同じ名前RandomNumberで、関数の外では使用しないため、これらの 2 行を削除する必要があります。

于 2013-01-30T20:16:20.763 に答える