Adobe AIR / XMLList / XMLListCollection
FlashBuilder(というかAIR)のリスト作成用パーツList*1がデータソースとして受け取るのは主にArrayListである。
ArrayListはArrayにインターフェイスを付け加えたようなクラスで、コンストラクタにArrayを与えてArrayListを作ることが出来る。
ところで、XMLListはXMLフラグメントを複数含む行列のようなものである。
XMLデータを元にリストを作る際、その名前からして思わずXMLListをデータソースとして渡してしまいたくなるのだが、渡すとインターフェイスの実装がどうとかいうエラーが出てはじかれる。
正解はXMLListCollectionというクラスのデータを渡すことで、これはXMLListCollectionのコンストラクタにXMLListを渡すと作成できる。つまり、ArrayからArrayListが作られるのと同じ構造。
*1:spark.compornent.List