Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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

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
Apache flex 从列表中的ItemRenderer获取项的更改值_Apache Flex_Actionscript 3_Flex4_Itemrenderer - Fatal编程技术网

Apache flex 从列表中的ItemRenderer获取项的更改值

Apache flex 从列表中的ItemRenderer获取项的更改值,apache-flex,actionscript-3,flex4,itemrenderer,Apache Flex,Actionscript 3,Flex4,Itemrenderer,我有一个以textInput作为itemrenderer的列表。最初,该列表将加载来自数据提供程序的数据。但是,由于项目是在textInputs中呈现的,因此我能够更改特定项目的值 但是,当尝试使用下面的函数访问已更改项的值时,我仍然会在跟踪中获取旧值: private function addItem(event:Event):void { trace(myDataProvider.getItemAt(myList.selectedIndex).label); } 有人能告诉我需要做

我有一个以textInput作为itemrenderer的列表。最初,该列表将加载来自数据提供程序的数据。但是,由于项目是在textInputs中呈现的,因此我能够更改特定项目的值

但是,当尝试使用下面的函数访问已更改项的值时,我仍然会在跟踪中获取旧值:

private function addItem(event:Event):void {
    trace(myDataProvider.getItemAt(myList.selectedIndex).label);
}
有人能告诉我需要做什么才能获得新的价值观吗。我的itemrenderer如下所示:

<?xml version="1.0" encoding="utf-8"?>
<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" 
                xmlns:components="components.*"
                >
<s:layout> 
    <s:HorizontalLayout/> 
</s:layout> 

<fx:Script>
    <![CDATA[


        override public function set data( value:Object ) : void {
            super.data = value;
        }

        protected function myTextInput_enterHandler(event:FlexEvent):void
        {

            trace(myTextInput.text);
                            What Next??


        }


    ]]>
</fx:Script>

<components:myComp1 text="{data.label}" id="myTextInput" enter="myTextInput_enterHandler(event)"/>
</s:ItemRenderer>

谢谢你的帮助。任何人。

尝试使用:

<?xml version="1.0" encoding="utf-8"?>
<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" 
                xmlns:components="components.*"
                >
<s:layout> 
    <s:HorizontalLayout/> 
</s:layout> 

<fx:Script>
    <![CDATA[


        override public function set data( value:Object ) : void {
            super.data = value;
        }

        protected function myTextInput_enterHandler(event:FlexEvent):void
        {
            trace(myTextInput.text);
            data.label = myTextInput.text;
        }


    ]]>
</fx:Script>

<components:myComp1 text="{data.label}" id="myTextInput" enter="myTextInput_enterHandler(event)"/>
</s:ItemRenderer>


我已尝试设置以下行data.label=myTextInput.text,但仍然不起作用。在主应用程序中执行以下操作时..它仍然给我旧值:trace(myDataProvider.getItemAt(1.label)//对于我正在测试并更改其值的索引)或跟踪(myDataProvider.getItemAt(myList.selectedIndex.label);此处缺少任何内容?将断点放在
myTextInput\u enterHandler
处理程序中,查看发生了什么(哪些变量随哪些值而变化)。我想你错过了一些明显的东西。