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
Apache flex 状态和单选按钮的怪异flex行为_Apache Flex_Flex4 - Fatal编程技术网

Apache flex 状态和单选按钮的怪异flex行为

Apache flex 状态和单选按钮的怪异flex行为,apache-flex,flex4,Apache Flex,Flex4,我有以下flex组件: <?xml version="1.0" encoding="utf-8"?> <s:BorderContainer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="400"

我有以下flex组件:

<?xml version="1.0" encoding="utf-8"?>
<s:BorderContainer xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" 
         width="400" 
         height="300"
         borderColor.male="blue"
         borderColor.female="#FF00F6"
         initialize="init(event)">

    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;
            protected function genderChanged(event:Event):void
            {               
                setByRadioGroup();
            }

            protected function init(event:FlexEvent):void
            {
                currentState = "male";
                //setByRadioGroup()
            }

            protected function setByRadioGroup():void {
                currentState = genderGroup.selectedValue as String;
            }

        ]]>
    </fx:Script>

    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
        <s:RadioButtonGroup id="genderGroup" change="genderChanged(event)">

        </s:RadioButtonGroup>
    </fx:Declarations>
    <s:states>
        <s:State name="male"/>
        <s:State name="female"/>
    </s:states>
    <s:Form>
        <s:FormItem label="name">
            <s:TextInput name="nameField" id="nameField"/>
        </s:FormItem>
        <s:FormItem label="gender">
            <s:RadioButton label="male" groupName="genderGroup" selected.male="true"/>
            <s:RadioButton label="female" groupName="genderGroup" selected.female="true"/>
        </s:FormItem>
    </s:Form>
</s:BorderContainer>

我正试图通过将currentState设置为“male”来获取要初始化的组件的整个状态(包括所选单选按钮)。此操作最初起作用(选择了正确的单选按钮,边框为蓝色):

但是,当我单击另一个单选按钮时,ui有时会处于一种奇怪的状态-单选选项会恢复到原始状态,但边框颜色会发生变化:

我错过了什么比赛吗


im使用flex 4.6.0和flash builder 4.7

您还必须告知其他状态的选定值,以确保其正常工作:

<s:RadioButton label="male" groupName="genderGroup" selected.male="true" selected.female="false"/>
<s:RadioButton label="female" groupName="genderGroup" selected.female="true" selected.male="false"/>

尽管我不希望用状态标识符设置所选的值。 我将在组件中添加一个状态更改侦听器,并在其处理程序函数中设置所选的值。
但这只是个人的选择……

您的单选按钮似乎没有
s,因此我希望组的
selectedValue
在任何时候都为空。@RIAstar-否,我跟踪了它并在那里设置了断点,selectedValue正确地反映了所选单选按钮的标签