Apache flex itemrenderer存在状态和滚动事件问题

Apache flex itemrenderer存在状态和滚动事件问题,apache-flex,itemrenderer,Apache Flex,Itemrenderer,我已经使用自定义itemrenderer来构建所需的程序 在itemrenderer中,它看起来是这样的 我使用它来处理用户将鼠标移动到特定项目渲染器上时的calse效果 <s:postLayoutTransformOffsets> <mx:TransformOffsets id="offsets" x.hovered="-10" y.hovered="-15" scaleX.hovered="1.2" scaleY.hovered="1.2" /> </s

我已经使用自定义itemrenderer来构建所需的程序

在itemrenderer中,它看起来是这样的

我使用它来处理用户将鼠标移动到特定项目渲染器上时的calse效果

<s:postLayoutTransformOffsets>
    <mx:TransformOffsets id="offsets" x.hovered="-10" y.hovered="-15" scaleX.hovered="1.2" scaleY.hovered="1.2" />
</s:postLayoutTransformOffsets>

<s:transitions>
    <mx:Transition fromState="normal" toState="hovered" autoReverse="true">
        <s:Animate target="{offsets}" duration="200">
            <s:SimpleMotionPath property="scaleX" />
            <s:SimpleMotionPath property="scaleY" />
            <s:SimpleMotionPath property="x" />
            <s:SimpleMotionPath property="y" />
        </s:Animate>
    </mx:Transition>
    <mx:Transition fromState="hovered" toState="normal" autoReverse="true">
        <s:Animate target="{offsets}" duration="200">
            <s:SimpleMotionPath property="scaleX" />
            <s:SimpleMotionPath property="scaleY" />
            <s:SimpleMotionPath property="x" />
            <s:SimpleMotionPath property="y" />
        </s:Animate>
    </mx:Transition>
</s:transitions>

之后是脚本部分,处理事件或渲染器的逻辑

对于每个渲染器,都必须有包含在渲染器中且仅当用户在渲染器上移动鼠标时才显示的按钮,每个按钮都可以触发要处理的事件

最后一部分代码是关于渲染器中的容器的。 第一个是具有“滚动”和“滚动”事件的,当用户滚动按钮并单击它时,将执行该事件。与卷展栏相同。 在该组中,有一个与将在渲染器中显示的图片绑定的图像。 Hgroup包含一个按钮,当用户单击该按钮时,该按钮包含要执行的事件

我遇到的问题是: 1.状态是不可控制的,当用户将鼠标移动到渲染上并单击时,其他itemrenderer也将进行缩放。sates问题,我已经重写了getCurrentState方法来解决这个问题,但是 2.在修复itemrenderer状态问题后,我发现用户未单击的另一个itemrender也可以执行滚动事件,这是非常有关联的

我不确定这个问题是否也与itemrenderer的状态有关,还是与其他我不知道的问题有关

希望有人能帮我找到一些线索和解决方案,或者只是一些可能有用的建议


干杯。

这是因为项目呈现器正在为列表中的其他项目重复使用,并且在重复使用时,它们保持以前的状态


如果要重用项目,则应将其状态设置为默认状态。通过覆盖“设置数据”功能来实现这一点,但是您必须禁用过渡,否则它们也会被播放。

您可以再添加一个状态来处理这种情况:hoveredAndClickedtried,这对于其他渲染状态是不正确的,但在管理状态后,仍然存在一个问题:当我单击另一个渲染时,其他itemrenderer仍然可以执行滚动事件,这一问题现在让我感到困惑。在从头开始构建新渲染后,我发现问题是由单击按钮内的按钮时发送的事件引起的。在我阻塞事件语句后,它会正常工作。