0

私はフレックス/フラッシュプログラミングを学ぼうとしていて、文字列から動的にフレックスのスピナーリストにデータを入力する必要があるプロジェクトに取り組んでいます。「split」を使用して文字列を分離する関数があり、配列リストにデータを入力する必要があります。私はこのばかげた大きなものを何時間も使ってきましたが、どこにも助けを見つけることができません。次のエラーが発生し続けます。

TypeError:エラー#1009:nullオブジェクト参照のプロパティまたはメソッドにアクセスできません。views :: CommonPlaces / initApp()[/ Users / twing207 / Documents / Adob​​e Flash Builder 4.6 / AmericanTaxi / src / views / CommonPlaces.mxml:30]

私のコードはここにあります:

<fx:Script>
    <![CDATA[
        import mx.collections.ArrayList;
        import spark.events.IndexChangeEvent;

        var Arr1:Array;
        var Arr2:Array;
        var Arr3:Array;

        [Bindable]
        public var CommonPlacesArray:ArrayList;

        var CommonPlacesData:String = new String("2133664:American Taxi Dispatch, Inc:Mount Prospect:834 E RAND RD|2133665:Walmart:Mount Prospect:930 Mount Prospect Plaza|2228885:Garage:Des Plaines:1141 Lee St|2228886:Asian Island:Palatine:1202 E Dundee Rd|2229464:Kohl's:Arlington Heights:700-856 W Dundee Rd|");
        var CurrentSelect:String = new String();

        private function initApp():void {

            Arr1 = CommonPlacesData.split("|");
            var arrLength:Number = new Number(Arr1.length);

            for (var i:Number = 0; i < (arrLength - 1); i++) {
                CurrentSelect = new String(Arr1[i]);
                Arr2 = CurrentSelect.split(":");

      //THE LINE BELOW IS WHERE IT STOPS:
                CommonPlacesArray.addItem(Arr2[1]);
            }

        }

「CommonPlacesArray.addItem」の行が気に入らないようです。どんな助けや正しい方向へのポイントも素晴らしいでしょう。よろしくお願いします!

別の注意点として、次のエラーも発生します:「未定義のプロパティへのアクセス:データ」:

ここで別のビューで、data.UserCommonReturnDataの値を文字列に設定します。

function LoginLoaded (e:Event):void {
                        trace(e.target.data);
                        var ServerReturn:String;
                        ServerReturn = new String(e.target.data);
                        data.UserCommonReturnData = ServerReturn;
                        navigator.pushView(CommonPlaces, data);
                    }

そしてここで私はそれを引き戻そうとします:

var CommonPlacesData:String = new String();
            var CurrentSelect:String = new String();

//次の行でエラーが発生します:CommonPlacesData = data.UserCommonReturnData;

何か案が??

4

1 に答える 1

2

CommonPlacesArrayを作成することはなく、宣言するだけです。

var CommonPlacesArray:ArrayList = new ArrayList();

Array List APIを確認すると、配列を受け入れるコンストラクターがあることもはっきりとわかります。つまり、自分で反復することなく、データをコピーできます。

于 2012-07-05T16:28:30.987 に答える