我在显示链接栏时遇到了一些问题。
我需要显示的数据是XML文件。 但是,我无法获得显示xmllist的链接栏(我确实读过你不能将xmlllist设置为linkbar dataprovider ...)。所以,我正在变换一个对象数组中的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].@id;
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
以下是我使用的链接栏的代码:
<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;
}
希望这会有所帮助。 此致
答案 0 :(得分:0)
这就是你要找的东西。看看你是否可以适应它。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Array id="dataProvider">
<mx:Object id="en" label="English" />
<mx:Object id="fr" label="French" />
<mx:Object id="es" label="Espanol" />
<mx:Object id="jp" label="Japanese" />
</mx:Array>
<mx:LinkBar
horizontalCenter="0"
verticalCenter="0"
dataProvider="{dataProvider}"
labelField="label" />
</mx:Application>
答案 1 :(得分:0)
我找到了解决问题的方法。 我在linkbar中使用了labelfunction(而不是label属性)。使用标签功能就可以了。
但我仍然不太明白为什么标签属性不起作用......