我正在使用 XMLListCollection 作为 spark ComboBox,受此链接的启发
http://blog.shortfusion.com/index.cfm/2009/4/15/FlexAS3-Custom-ComboBox-for-Countries-with-XML
XMLListCollection 在这里定义:
public class ComboBox_Country extends ComboBox {
private var Country:XML=new XML(
<countries>
<country code="US" iso="840" label="United States" />
<country code="CA" iso="124" label="Canada" />
<country code="GB" iso="826" label="United Kingdom" />
....
<country code="ZM" iso="894" label="Zambia" />
<country code="ZW" iso="716" label="Zimbabwe" />
</countries>);
public function ComboBox_Country() {
dataProvider = new XMLListCollection(Country.children());
labelField = '@label';
}
并在 mxml 中调用为:
<mycomp:ComboBox_Country id="countryComboBox" width="100%"/>
当用户进行选择时,我可以从以下位置获取索引:countryComboBox.selectedIndex
. 但是,我需要该国家/地区的字符串,但我不确定如何从 XMLListCollection 中提取该字符串。当我查看调试器时,我看到:
假设用户选择了索引 2(例如英国)。我需要在调试器中输入什么才能返回United Kingdom
?我试过这样的事情:
countryComboBox.Country.getItemAt(2)
countryComboBox.Country.getItemAt(2).label
countryComboBox.Country[2]
countryComboBox.Country.label.getItemAt(2)
etc...
无济于事。