Задача - проще некуда, а туплю второй день, выручайте, плз.
Получаю с сервера xml-файл сложной структуры. Вынимаю из него пути к изображениям-миниатюрам и вывожу их как элементы VBox. Понятно, что так как на момент написания кода количество изображений неизвестно - создаю объект Image на стеке через new и добавляю его в VBox через addChild( ... ). Это все работает. Без проблем.
Проблема в том, что надо ловить click на созданное изображение. Упорно не понимаю, как поставить обработчик. Попытался поставить его через setStyle - не получается.
Примерно, код следующий:
Код AS3:
<mx:Application ... bla-bla-bla>
<mx:VBox id="theImageBox" x="10" y="285" width="352" height="509" />
<mx:Script>
<![CDATA[
... bla-bla-bla
protected function handlerHaveDataLoader(event:Event):void {
m_nSeries = 0;
m_theSeries = theXmlLoader.responce().children();
m_szDescriptionSeries = m_theSeries[m_nSeries].description;
var nLength:int = m_theSeries.length();
for(var nIndex:int = 0; nIndex< nLength; nIndex++){
var theImage:Image = new Image();
theImage.width = 3*theImageBox.width/4;
theImage.setStyle("horizontalAlign", nIndex%2==0?"left":"right");
theImage.setStyle("click","handlerClick( 1 );");
theImage.toolTip = m_theSeries[nIndex].caption;
theImage.source = m_theSeries[nIndex].source;
theImageBox.addChild(theImage);
}
m_theCollection = m_theSeries[m_nSeries].composition.children();
m_nPosition = -1;
nextImage();
}
... bla-bla-bla
]]>
</mx:Script></mx:Application>
Т.е. перефразируя вопрос:
как написать строку <mx:Image click="handlerClick( 1 );" /> для объекта Image созданного через new.
Кто-то поможет?