简体   繁体   中英

Cannot access a property or method of a null object reference Flex

I've been trying to learn flex/flash programming and am working on a project where I need to populate a spinner list in flex dynamically from a string. I have a function that separates the string using "split" and now I need to populate an array list. I have been working with this stupid big for hours now and can;t find help anywhere. I keep getting the following error:

TypeError: Error #1009: Cannot access a property or method of a null object reference. at views::CommonPlaces/initApp()[/Users/twing207/Documents/Adobe Flash Builder 4.6/AmericanTaxi/src/views/CommonPlaces.mxml:30]

My code is here:

<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]);
            }

        }

It doesn't seem to like the "CommonPlacesArray.addItem" line. Any help or a point in the right direction would be great. Thanks in advanced!

On another note, I am also getting the error: "Access of undefined property: data" on the following:

Here in another view I set the value for data.UserCommonReturnData to a string.

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);
                    }

and here I try to pull it back:

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

//The next line gives the error: CommonPlacesData = data.UserCommonReturnData;

Any idea??

You never construct CommonPlacesArray, you just declare it.

var CommonPlacesArray:ArrayList = new ArrayList();

If you check the Array List API you can also clearly see it has a constructor that accepts an array, meaning you can copy the data to it without having to iterate over it yourself.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM