0

我有一个有趣的情况,我有一个显示字符串 ArrayList 的列表框,但我希望能够将显示的字符串与我不想显示的其他一些数据相关

当然,我可以做到这一点的一种方法是创建一个关联数组,该数组以列表框中显示的字符串为键。唯一困扰我的是必须维护两个单独的数组才能做到这一点。该列表可能会有点大,我不想占用太多内存来复制我正在显示的字符串,当然如果我总是将我的显示字符串复制到单独的数组中,它可能会影响性能。

我想做的是有一个对象数组,其中包括我想在列表框中显示的字符串。我希望能够在不显示对象中的任何其他数据的情况下显示字符串,并且当我在列表框中进行选择时,我的选择允许我访问对象中的其余数据。

有没有办法做到这一点?如果是这样,怎么做?

在此先感谢您的任何建议...

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 回答