Adobe AIR / XMLList / XMLListCollection

FlashBuilder(というかAIR)のリスト作成用パーツList*1がデータソースとして受け取るのは主にArrayListである。

ArrayListはArrayにインターフェイスを付け加えたようなクラスで、コンストラクタにArrayを与えてArrayListを作ることが出来る。


ところで、XMLListはXMLフラグメントを複数含む行列のようなものである。


XMLデータを元にリストを作る際、その名前からして思わずXMLListをデータソースとして渡してしまいたくなるのだが、渡すとインターフェイスの実装がどうとかいうエラーが出てはじかれる。

正解はXMLListCollectionというクラスのデータを渡すことで、これはXMLListCollectionのコンストラクタにXMLListを渡すと作成できる。つまり、ArrayからArrayListが作られるのと同じ構造。



Adobeさん、命名規則をちゃんとして下さい(笑)

*1:spark.compornent.List