[英]Creating a list from XML using Actionscript 3.0
這是我的XML http://pastie.org/5413932
基本上,我想使用AS3中的列表組件在列表框中列出場地 名稱 ! 我為此做了很多嘗試,沒有任何運氣。
我已經有要在XML等中加載的代碼,這里http://pastie.org/5413941我已經嘗試使用list.addItem({label:myXML.venue.name}); 在確實列出場地名稱的函數中,但是由於某些原因,我在運行swf時無法一一選擇,只能選擇第一個。
我是AS3的新手
提前致謝 :)
看來您最近已經對此XML提出了疑問-因此,這次我們可以看到XML結構:
var venueNames:XMLList = myXML.venue.name;//here you have all name's nodes
if(venueNames && venueNames.length() > 0)
{
for each (var name:XML in venueNames)
{
trace(name);
list.addItem({label:name.toString()});
}
}
這是您注冊列表中項目點擊的方式:
list.addEventListener(ListEvent.ITEM_CLICK, nameSelectedHandler, false, 0, true);
這是事件可能包含的內容:
[ListEvent type="itemClick" bubbles=false cancelable=true columnIndex=0 rowIndex=0 index=0 item=[object Object]]
該事件的item屬性是通過addItem方法放置對象的對象,如您所見,還有index屬性-您可以使用它來標識單擊了哪個項目。 然后,您可以從XML獲取場所節點,如下所示:
myXml.venue[e.index];//where e is the ListEvent
您可以將其包裝為一個函數,然后在其他地方使用它,如下面的示例中的處理程序中那樣,單擊“提交”按鈕:
protected function onSubmit(e:MouseEvent):void
{
if(list.selectedIndex != -1)
{
trace(findVenueByIndex(list.selectedIndex));
}
else
{
trace("Nothing selected");
}
}
protected function findVenueByIndex(index:int = 0):XML
{
return myXML.venue[index];
}
問候
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.