看来你最近问过这个 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];
}
问候