簡體   English   中英

使用ActionScript 3.0從XML創建列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM