您好,
我在组件mxml中有一个列表,如下所示:
<s:VGroup>
<s:Label text="TESTING" textDecoration="underline"/>
<s:List id="recouvrementModulesList" itemRenderer="renderers.ListRenderer">
<s:dataProvider>
<s:ArrayList>
<fx:String>Test</fx:String>
<fx:String>Test2</fx:String>
<fx:String>Test3</fx:String>
</s:ArrayList>
</s:dataProvider>
</s:List>
</s:VGroup>
我的ListRenderer 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"
autoDrawBackground="true">
<fx:Script>
<![CDATA[
]]>
</fx:Script>
<fx:Declarations>
<mx:RadioButtonGroup id="rbg" />
</fx:Declarations>
<s:HGroup horizontalAlign="center" verticalAlign="middle">
<mx:RadioButton id="rb" group="{rbg}" label="{data}"/>
</s:HGroup>
</s:ItemRenderer>
请注意,itemrenderer中的radiobutton属于“rbg”组。在此示例中,List显示3行(因此每行3个radioButtons)。但是,当我一次选择radioButtons时,允许对所有radioButtons进行选择。从逻辑上讲,如果它属于一个组,它应该只允许1个选择,但事实并非如此。
有人可以帮忙解决这个问题吗?
由于
答案 0 :(得分:1)
使用设置数据方法:
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Declarations>
<s:RadioButtonGroup id="rbg"/>
</fx:Declarations>
<s:VGroup>
<s:Label text="TESTING" textDecoration="underline"/>
<s:List id="recouvrementModulesList" >
<s:dataProvider>
<s:ArrayList>
<fx:String>Test</fx:String>
<fx:String>Test2</fx:String>
<fx:String>Test3</fx:String>
</s:ArrayList>
</s:dataProvider>
<s:itemRenderer>
<fx:Component>
<mx:HBox>
<fx:Script>
<![CDATA[
override public function set data( value:Object ) : void
{
super.data = value;
rb.label=data.toString();
rb.group=outerDocument.rbg;
}
]]>
</fx:Script>
<s:RadioButton id="rb" />
</mx:HBox>
</fx:Component>
</s:itemRenderer>
</s:List>
</s:VGroup>
答案 1 :(得分:0)
尝试将名称属性添加到单选按钮定义中。它的遗漏可能导致按钮被单独处理而不是作为一个单元处理。