Страница 1 из 1

Проблема со слушателем событий!

Добавлено: 15 фев 2011, 15:46
ShiKari
При написании приложения столкнулся с такой интересной задачкой
Описание:
Комментарии и описание вставил в исходный код

Код: Выделить всё

arrayOfSellObject = new Array(); //здесь я храню динамические кнопки, которые создаются в циклеarrayOfIdSell = new Array(); //здесь необходимые значения для каждой кнопки for (var i:uint = countFrom; i < countTo; i++) {     var tempSellObject:btnSellObject = new btnSellObject(); //Кнопка     arrayOfSellObject.push(tempSellObject); //Заношу каждую кнопку в массив    container.addChild(tempSellObject);     arrayOfIdSell[i] = externalXML.obj[i].obid; //Здесь я получаю необходимые значения для каждой кнопки с таким же индексом //Далее в этом же цикле создаю слушатель для каждой кнопки, в котором мне необходимо к переменной server прибавить значение arrayOfIdSell с таким же индексом    arrayOfSellObject[i].addEventListener(MouseEvent.CLICK,  function(event:MouseEvent): void {        query = server + (здесь нужно взять значение массива arrayOfIdSell с таким же индексом как у кнопки);                       tfAutoriz.text = query;       });}
Описание проблемы: Дело в том, что я не знаю как обратиться потом к конкретному элементу arrayOfIdSell в зависимости от того, какая кнопка с каким индексом нажата, т.к. слушатель выполняется, когда цикл давно завершен.
Как изощриться и какое здесь решение? :?:

Re: Проблема со слушателем событий!

Добавлено: 15 фев 2011, 16:45
bodnar
создайте в btnSellObject() еще одно поле, и при создании заноси в него нужное значение которое хотел хранить в массиве arrayOfIdSell

Re: Проблема со слушателем событий!

Добавлено: 15 фев 2011, 19:32
ShiKari
Прошу прощения, но не совсем понял как это. Если можно, поподробнее... :roll:

Re: Проблема со слушателем событий!

Добавлено: 16 фев 2011, 21:30
user32
По логике делать кучу кнопок не правильно, обычно делают выпадающий список, а потом одну кнопку. Если все-таки нужно много кнопок, можно расширить класс fl.controls.Button своим, добавив, например поле id. Потом в получателе событий через event.target (в получателе события MouseEvent) брать id нажатой кнопки и обращаться к требуемому элементу массива.
P.S. вроде кнопка уже не стандартная, так что прикрутить к ней id еще проще.

Re: Проблема со слушателем событий!

Добавлено: 17 фев 2011, 12:13
ShiKari
Проблема решена!! 8-)
Мои благодарности за помощь!!!!