これらの行は正しくありません。
array.addItem(new BitmapImage().source="/assets/appLogo.png");
array.addItem(new BitmapImage().source="/assets/companyLogo.png");
実行しているように見えるのは、新しい BitMapImage を作成し、そのソース プロパティを設定することです。配列に追加しているアイテムは、割り当ての結果ではありませんか? または、実際のソース値を取得しているように聞こえます。BitMapImages の配列が必要な場合は、次のように作成できます。
var tempImage :BitMapImage = new BitmapImage()
tempImage.source="/assets/appLogo.png"
array.addItem(tempImage);
tempImage = new BitmapImage()
tempImage.source="/assets/companyLogo.png"
array.addItem(tempImage);
ただし、表示方法を知っているカスタム itemRenderer を作成しない限り、リストは BitmapImage をどうするかわかりません。
<s:List dataProvider="array">
<s:itemRenderer>
<s:ItemRenderer dataChange="onDataChange()">
<fx:Script>
protected function onDataChange():void{
this.removeChild(data);
this.addChild(data as BitMapImage);
}
</fx:Script>
</s:ItemRenderer>
</s:itemRenderer>
</s:List>
ただし、ソースを表す文字列の配列を用意してから、レンダラーで BitMapImage を作成する方がより有益であると思います。一度にすべてを使用しない場合は、多数の BitMapImage コンポーネントを作成する必要はありません。このような並べ替え:
array.addItem("/assets/appLogo.png");
array.addItem("/assets/companyLogo.png");
<s:List dataProvider="array">
<s:itemRenderer>
<s:ItemRenderer dataChange="onDataChange()">
<fx:Script>
protected function onDataChange():void{
this.bitMapImage = data;
}
</fx:Script>
<s:BitMapImage id="bitMapImage" />
</s:ItemRenderer>
</s:itemRenderer>
</s:List>