0
저는 노래 목록을 가지고 있고 항목을 두 번 클릭하면 노래가 재생됩니다. 나는 이것을 좋아한다. aList는 목록의 인스턴스 이름입니다.Adobe Flash AS3 : MouseEvent가있는 목록에서 선택된 항목의 데이터 가져 오기
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()
항목 데이터를 올바르게 가져 오는 방법을 아는 사람이 있습니까? 내 구문이 잘못되었다고 생각하기 때문입니다.
미리 감사드립니다.
가 이벤트 대상이'List' 아니라, 오히려'CellItemRenderer' 나에게 보인다. 더 좋은 방법은 다음과 같이하는 것입니다 : 'var list : List = e.target as List;'song = list.selectedItem' 그리고 캐스트가 성공했는지 확인하십시오. –
@TomislavDyulgerov 1118 : 정적 유형 Object를 사용하는 값과 관련없는 유형 String의 암시 적 강제 변환. 그것은 song = list.selecteditem;을 가리키고 있습니다. . 이 오류의 원인이 무엇 일 수 있다고 말씀해 주시겠습니까? – Katherine
아, 다시 캐스팅해야합니다. 만약 당신의 노래가'String' 타입이라면 당신의 코드는 다음과 같이 보일 것입니다 :'song = list.selectedItem as String;' –