0

文字列の ArrayList を表示するリストボックスがあるという興味深い状況がありますが、表示された文字列を表示したくない他のデータに関連付けたいと考えています。

もちろん、これを行う 1 つの方法は、リストボックスに表示される文字列をキーとする連想配列を作成することです。私を悩ませる唯一のことは、これを行うために 2 つの別個の配列を維持しなければならないことです。リストはいくらか大きくなる可能性があり、表示している文字列を複製してメモリを大量に消費する必要はありません。もちろん、表示文字列を常に別の配列にコピーすると、パフォーマンスに影響を与える可能性があります。

私がやりたいことは、リストボックスに表示したい文字列を含む単一のオブジェクト配列を持つことです。オブジェクト内の他のデータを表示せずに文字列を表示できるようにしたいのですが、リストボックスで選択すると、オブジェクト内の残りのデータにアクセスできます。

これを行う方法はありますか?もしそうなら、どのように?

提案をお寄せいただきありがとうございます...

4

1 に答える 1

1

を使用しますDataProvider

var dataProvider:DataProvider = new DataProvider();
dataProvider.addItem({label:"test", data:{x:0,y:10,someOtherData:"misc"}});
dataProvider.addItem({label:"test 2", data:{x:30,y:120,someOtherData:"foo"}});
list_box.dataProvider = dataProvider;
...
trace(list_box.getItemAt(1).data.someOtherData); //foo

DataProviderデータ ソースとしてリスト、XML インスタンス、またはデータ オブジェクトの配列を使用して (コンストラクターに引数を渡すことにより) インスタンス化できることに注意してください。

于 2013-05-10T18:29:15.443 に答える