Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 Flex4列表项呈现器isItemSelected()方法_Actionscript 3_Apache Flex_Flex4_Flex4.6 - Fatal编程技术网

Actionscript 3 Flex4列表项呈现器isItemSelected()方法

Actionscript 3 Flex4列表项呈现器isItemSelected()方法,actionscript-3,apache-flex,flex4,flex4.6,Actionscript 3,Apache Flex,Flex4,Flex4.6,在flex3中,List有isItemSelected()方法,但我在flex4中没有找到它们。我的场景是确定是否选择了当前ItemRenderer,然后根据选择的值,对ItemRenderer中的特定组件执行一些逻辑(假设ItemRenderer有一个图像组件和标签组件,我只想对图像执行一些逻辑)在Flex 4中,项目渲染器功能可以更好地利用状态。这意味着它们具有默认状态,我们可以使用它们来实现特定于状态的逻辑: normal hovered selected up 如果您想在项目被选中时执

在flex3中,List有isItemSelected()方法,但我在flex4中没有找到它们。我的场景是确定是否选择了当前ItemRenderer,然后根据选择的值,对ItemRenderer中的特定组件执行一些逻辑(假设ItemRenderer有一个图像组件和标签组件,我只想对图像执行一些逻辑)

在Flex 4中,项目渲染器功能可以更好地利用状态。这意味着它们具有默认状态,我们可以使用它们来实现特定于状态的逻辑:

normal
hovered
selected
up
如果您想在项目被选中时执行某些操作,您可以为
stateChangedComplete
事件添加一个侦听器,并在该处理程序中实现您的逻辑(当然,您必须测试当前状态是否为“选中”)。代码可能如下所示:

<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
                xmlns:s="library://ns.adobe.com/flex/spark"
                xmlns:mx="library://ns.adobe.com/flex/mx"
                stateChangeComplete="stateChangedHandler()"
                autoDrawBackground="false">

    <fx:Script>
        <![CDATA[
            protected function stateChangedHandler():void
            {
                if(currentState == "selected")
                {
                    // implement your logic here
                }
            }
        ]]>
    </fx:Script>

    <!-- Your original MXML code here -->

</s:ItemRenderer>

如果您需要完成一些非琐碎的逻辑,这将是一种方法。但是,如果您只需要更改图像上的某些属性,当项目渲染器处于选中状态时,您可以在元素上指定一个特定于状态的属性/值对,就像这样(假设默认情况下图像已淡入淡出状态,并且当项目处于选中状态时,为了便于解释,您希望淡入淡入状态):


这样,就不需要侦听器/处理程序


希望这有帮助。祝您度过愉快的一天。

如果我错了,请纠正我的错误,但是Flex 3中还没有这些州吗?嗯,是的,但在我看来,在Flex 4中,您可以用它们做更多的事情。这就是我想要表达的。但你是对的,可以理解的是,Flex 4引入了它们,这是不正确的。我编辑了我的答案,希望这样会更有意义。@RomiHalasz感谢你的想法。我现在解决了这个问题。但我遇到了另一个问题,那是关于列表布局的问题,你能帮我吗?该问题发布在另一页。@RomiHalasz该问题发布在此处:
<s:Image alpha="0.5" alpha.selected="1" />