Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.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/flutter/9.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 Flex组合框奇怪的问题_Apache Flex_Actionscript 3_Combobox - Fatal编程技术网

Apache flex Flex组合框奇怪的问题

Apache flex Flex组合框奇怪的问题,apache-flex,actionscript-3,combobox,Apache Flex,Actionscript 3,Combobox,Flex中的combobox出现了一个奇怪的问题。在以下代码中: public function rollCombo(cmb:ComboBox,value:String):void { if(value=='') return; var i:int=0; cmb.selectedIndex = 0; var dp1:XMLListCollection = (XMLListColle

Flex中的combobox出现了一个奇怪的问题。在以下代码中:

    public function rollCombo(cmb:ComboBox,value:String):void
    {
            if(value=='') return;
            var i:int=0;
            cmb.selectedIndex = 0;
            var dp1:XMLListCollection =   (XMLListCollection(cmb.dataProvider);
            trace(value);
            while(dp1[i]!=value && i<dp1.length)
              cmb.selectedIndex = ++i;
              cmb.validateNow();
              cmb.validateDisplayList();

            trace(cmb.selectedLabel);
    }
公共函数rollCombo(cmb:ComboBox,值:String):void
{
如果(值=“”)返回;
变量i:int=0;
cmb.selectedIndex=0;
var dp1:XMLListCollection=(XMLListCollection(cmb.dataProvider);
跟踪(值);

而(dp1[i]!=value&&i上一个selectedIndex超出了范围,因为您使用了预增量。这意味着我在测试之前变成了dp1.length,并且它也被分配给selectedIndex。这可能解释了奇怪的行为。您可能需要使用后增量

而且,在这段时间内执行的唯一一件事看起来是

cmb.selectedIndex = ++i;
我不知道这是否是你想要的,但你可能需要一些“{}”