我使用 XML 列表聚合器作为火花 ComboBox, 受到此链接的启发
< a href=>http://blogblog.shortvission.com/index.cfm/2009/15/FlexAS3-Custom-ComboBox-for-ComboBox-for-Cordries-with-XML" rel=“notfollown noreferrerr>http://blog.shortvission.com/index.cfm/2009/15/FlexAS3-Custom-ComboBox-for-Cordries- with-XML
XML 列表集合在此定义 :
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%"/>
当用户选择时, 我可以从 : < code> countryComboBox. sectedIndex 获得索引。 但是, 我需要国家的字符串, 我不知道如何从 XML 列表中提取索引。 当我在调试器中看到 :
""https://i.sstatic.net/UzWlC.png" alt="此处输入图像描述"/ >
s 表示用户选择的索引2(例如联合王国)。要输入调试器返回 United Kingdom
需要输入什么?
countryComboBox.Country.getItemAt(2)
countryComboBox.Country.getItemAt(2).label
countryComboBox.Country[2]
countryComboBox.Country.label.getItemAt(2)
etc...
徒劳无益。