0

我有一个歌曲列表,如果我双击一个项目,它将播放歌曲。我这样做。aList 是列表的实例名称。

aList.addEventListener(MouseEvent.DOUBLE_CLICK, changeSong);

function changeSong(e:MouseEvent) {
     ....
     song = e.target.selectedItem.data;
     ....
}

我在 (song = e.target.selectedItem.data;) 部分有错误。好像我使用了错误的属性。

ReferenceError: Error #1069: Property selectedItem not found on    fl.controls.listClasses.CellRenderer and there is no default value.
at playlist_fla::MainTimeline/changeSong()

有谁知道如何正确获取项目的数据。因为我认为我的语法是错误的。

提前致谢。

4

1 回答 1

0

您为 List 组件的 dataProvider 分配了什么?

e.target.data是具有附加属性的对象。

如果您不确定数据对象的属性,您可以像这样迭代:

for (var property:String in data)
{
    trace("data." + property + " = " + data[property]);
}

如果它是您尝试分配给歌曲变量的标准 itemRenderer 的标签,您可能会成功:

song = e.target.listData.label;

于 2013-02-16T10:37:32.890 回答