0

これが私のXMLですhttp://pastie.org/5413932

基本的には、AS3のリストコンポーネントを使用して、リストボックスに会場の名前をリストしたいと思います。私はこれを運がなくても何度も試みました。

ここにXMLなどをロードするコードがすでにありますhttp://pastie.org/5413941list.addItem({label:myXML.venue.name }); を使用してみました。会場名を一覧表示する機能ですが、なぜかswfを実行したときに1つずつ選択できないので、最初の1つしか選択できません。

AS3の初心者です

前もって感謝します :)

4

1 に答える 1

0

最近、この 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]]

そのイベントのアイテム プロパティは、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];
    }

よろしく

于 2012-11-21T21:40:18.110 に答える