【问题标题】:HSlider event listener not triggered when value is updated Flex 3.5更新值时未触发 HSlider 事件侦听器 Flex 3.5
【发布时间】:2011-03-30 16:18:02
【问题描述】:

我正在编写一个 Web 应用程序,它将作为我用 Java 编写的随机数据生成器的配置。我在此应用程序中设置的值将写入 xml。 xml 数据由名为 SimulationParams.as 的文件更新,该文件被添加到“viewStack”中的每个子项中,因此当我更改任何这些值时,simulationConfig 文件将自动更新。问题是,当我按下 randomizeBtn 时,会触发正确的事件,并且侦听器会抓取这些事件。当我取消选中随机化按钮时,我的问题存在。出于某种原因,触发了一个事件或侦听器未在侦听,因此当我取消选中 randomizeBtn 时,这些值会返回到它们在滑块上的最后一个位置或值。前任。如果我的初始值为 0,则按随机化滑块将变为 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)

【问题讨论】:

    标签: apache-flex flash actionscript-3 flexbuilder


    【解决方案1】:

    我解决了这个问题。问题是我拥有SliderEvent 的事件侦听器没有侦听当我按下随机化或默认按钮FlexEvent.VALUE_COMMMIT 时调度的其他类型的事件;对此的修复为我的 HSlider 添加了第二个侦听器,然后将 setSliderValue 方法从 protected function mockSetFn(event:SliderEvent) 更改为 protected function mockSetFn(event:Event) 以处理所有事件。简单的事情让我很吃惊。

    【讨论】:

    • 我对这个评论很困惑。您介意显示代码而不是提示吗?
    猜你喜欢
    • 2013-05-19
    • 1970-01-01
    • 2020-09-06
    • 1970-01-01
    • 2019-05-14
    • 2021-01-14
    • 1970-01-01
    • 1970-01-01
    • 2011-12-26
    相关资源
    最近更新 更多