リンクバーの表示に問題があります。
表示する必要があるデータは XML ファイルです。ただし、リンクバーにxmllistを表示することはできませんでした(xmllistをリンクバーデータプロバイダーとして設定できないことを実際に読みました...)。そのため、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>
xmllist をオブジェクトの配列に変換する AS コード:
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();
}
リンクバーコード:
<mx:HBox horizontalAlign="right" width="100%">
<mx:LinkBar id="language" dataProvider="{GlobalData.instance.languages}" separatorWidth="3" labelField="{label}"/>
</mx:HBox>
セパレータは表示されず、ラベルも表示されません。しかし、配列には値が設定されています (私はそれをテストしました)。
あなたが提供できる助けをありがとう=)
よろしく、 BS_C3
@デカド
私が使用したリンクバーのコードは次のとおりです。
<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;
}
お役に立てれば。よろしく