Прослушиватель событий HSlider не срабатывает при обновлении значения Flex 3.5 - PullRequest
0 голосов
/ 17 августа 2010

Я пишу веб-приложение, которое будет служить конфигурацией для генератора случайных данных, который я написал на Java.Значения, которые я установил в этом приложении, будут записаны в XML.Данные xml обновляются файлом с именем SimulationParams.as, и этот файл добавляется к каждому дочернему элементу в «viewStack», поэтому при изменении любого из этих значений файл SimulationConfig будет автоматически обновляться.Проблема в том, что когда я нажимаю randomizeBtn, запускаются соответствующие события, и слушатели получают эти события.Моя проблема существует, когда я снимаю галочку с кнопки рандомизации.По какой-то причине событие инициируется, или слушатель не слушает, поэтому, когда я снимаю флажок randomizeBtn, значения возвращаются к своей последней позиции или значению на ползунке.Ex.если мое начальное значение равно 0, тогда нажмите randomize, ползунок перейдет к 100. Файл конфигурации обновится, и все в порядке.Когда я снимаю флажок randomizeBtn, значение ползунков возвращается 0, но файл конфигурации не обновляется.То же самое происходит, когда я нажимаю useDefaultBtn для обоих выбранных / невыбранных, ничего не обновляется.

[Отредактировано]

Я включил тестовое приложение, чтобы помочь показать мою проблему:
snipplr.com / view / 39260 / testmxml (запустите это)
snipplr.com / view / 39259 / simulationconfigparamsas
snipplr.com / view / 39257 /organizationpanelmxml
snipplr.com / view / 39258 / organizationtypesetting

Рассматриваемые функции:

randomizeBtn_clickHandler(event:MouseEvent):void
useDefaultBtn_clickHandler(event:MouseEvent):void
updateLastSliderPosition(currentChild:OrganizatyionTypeSettings):void
useSliderPosition(currentChild:OrganizatyionTypeSettings):void
creationCompleteHandler(event:FlexEvent):void
initSetting(setting:OrganizatyionTypeSettings):void
setMinuteCreationDelay(event:SliderEvent):void
setDelayVariance(event:SliderEvent)

1 Ответ

0 голосов
/ 20 августа 2010

Я решил проблему.Проблема в том, что прослушиватель событий, который у меня был SliderEvent, не прослушивал событие другого типа, которое было отправлено, когда я нажал кнопку рандомизации или по умолчанию, которая является FlexEvent.VALUE_COMMMIT;Исправление для этого - добавить второго слушателя к моему HSlider, а затем изменить методы setSliderValue с protected function mockSetFn(event:SliderEvent) на protected function mockSetFn(event:Event) для обработки всех событий.Легкие вещи нападают на меня.

...