你可以在 <mx:RadioButton> 上添加一个 click 事件,然后在事件处理程序中判断当前的 RadioButton 是否被选中,如果已经选中,则将其设置为未选中状态,否则将其设置为选中状态。示例代码如下: 复制 <mx:Repeater id="userWardRP" dataProvider="{_dayScheduleList}"> <mx:RadioButton label="{userWardRP.currentItem.execTime}" change="resetUserCurrentWard(event)" click="toggleSelected(event.currentTarget)"/> </mx:Repeater> 然后在脚本中添加 toggleSelected 函数: 复制 private function toggleSelected(rb:RadioButton):void { if(rb.selected) { rb.selected = false; } else { rb.selected = true; } } 这样,点击一个 RadioButton 时,它会被选中,再次点击它时,它会被取消选中。编译的时候报错: 属于 static 类型 Object 的值的隐式强制指令的目标可能是非相关类型 mx.controls:RadioButton。
时间: 2024-01-09 19:04:21 浏览: 27
这个错误是因为在事件处理程序中,你传递了当前 RadioButton 的对象给 toggleSelected 函数,而该函数的参数类型是 Object。为了解决这个问题,你可以将 toggleSelected 函数的参数类型改为 RadioButton,如下所示:
```
private function toggleSelected(rb:RadioButton):void {
if(rb.selected) {
rb.selected = false;
} else {
rb.selected = true;
}
}
```
这样就能够避免隐式强制类型转换导致的编译错误。
相关问题
java-flex:<mx:Repeater id="userWardRP" dataProvider="{_dayScheduleList}"> <mx:RadioButton label="{userWardRP.currentItem.execTime}" change="resetUserCurrentWard(event)" width="111"/> </mx:Repeater>,怎样使选中的,再点击一次即可取消
你可以在 `<mx:RadioButton>` 上添加一个 `click` 事件,然后在事件处理程序中判断当前的 RadioButton 是否被选中,如果已经选中,则将其设置为未选中状态,否则将其设置为选中状态。示例代码如下:
```
<mx:Repeater id="userWardRP" dataProvider="{_dayScheduleList}">
<mx:RadioButton label="{userWardRP.currentItem.execTime}"
change="resetUserCurrentWard(event)"
click="toggleSelected(event.currentTarget)"/>
</mx:Repeater>
```
然后在脚本中添加 `toggleSelected` 函数:
```
private function toggleSelected(rb:RadioButton):void {
if(rb.selected) {
rb.selected = false;
} else {
rb.selected = true;
}
}
```
这样,点击一个 RadioButton 时,它会被选中,再次点击它时,它会被取消选中。
<mx:Repeater id="userWardRP" dataProvider="{_dayScheduleList}"> <mx:RadioButton label="{userWardRP.currentItem.execTime}" change="resetUserCurrentWard(event)" click="toggleSelected(event.currentTarget)"/> </mx:Repeater>,怎样判断里面的按钮有没有被选中
可以通过遍历 `userWardRP` 中的每个 `RadioButton` 组件并检查其 `selected` 属性来判断是否被选中。可以使用以下代码:
```
for each (var radioButton:RadioButton in userWardRP) {
if (radioButton.selected) {
// RadioButton is selected
} else {
// RadioButton is not selected
}
}
```
其中,`userWardRP` 是 `Repeater` 组件的 ID,用于遍历所有的 `RadioButton` 组件。使用 `selected` 属性来检查 `RadioButton` 是否被选中。