我有一些问题显示链接栏。Flex - 链接栏数据提供者的问题
我需要显示的数据是在一个XML文件中。 但是,我无法让链接栏显示xmllist(我确实已经读过,您不能将xmlllist设置为链接栏数据提供者...)。所以,我正在转换一个对象数组中的xmllist。
这是一些代码。
XML文件:
<data>
<languages>
<language id="en">
<label>ENGLISH</label>
<source></source>
</language>
<language id="fr">
<label>FRANCAIS</label>
<source></source>
</language>
<language id="es">
<label>ESPAÑOL</label>
<source></source>
</language>
<language id="jp">
<label>JAPANESE</label>
<source></source>
</language>
</languages>
</data>
AS码,其将所述的XMLList在对象的数组:
private function init():void
{
var list:XMLList = generalData.languages.language;
var arr:ArrayCollection = new ArrayCollection;
var obj:Object;
for(var i:int = 0; i<list.length(); i++)
{
obj = new Object;
obj.id = list[i][email protected];
obj.label = list[i].label;
obj.source = list[i].source;
arr.addItemAt(obj, arr.length);
}
GlobalData.instance.languages = arr.toArray();
}
Linkbar代码:
<mx:HBox horizontalAlign="right" width="100%">
<mx:LinkBar id="language" dataProvider="{GlobalData.instance.languages}" separatorWidth="3" labelField="{label}"/>
</mx:HBox>
隔板不显示,并标签也没有。 但数组已填充(我测试了它)。
感谢您的帮助,您可以提供=)
问候, BS_C3
@Decado
下面是我用LinkBar中的代码:
<mx:LinkBar id="language"
dataProvider="{GlobalData.instance.languages}"
labelFunction="language_labelFunction"
itemClick="language_itemClick(event)"
styleName="GLBLinkBTN"
separatorColor="#FFFFFF"
separatorWidth="1"
linkButtonStyleName="HPLanguages"
/>
以下是labelfunction的功能:
private function language_labelFunction(item:Object):String
{
return item.label;
}
希望这会有所帮助。 Regards
你可以发布这样的示例代码吗? – Decado 2010-06-12 13:26:51
我已编辑我的帖子。告诉你是否需要更多细节。 此致敬礼。 – 2010-06-13 21:33:00