私はさまざまな理由から、プログラム的に構築する必要があるUIコンポーネントを持っています。コンポーネントは、列でグループ化されたラジオボタンの表です。ActionScript3でラジオボタンとラジオボタングループをプログラムで関連付けるにはどうすればよいですか?
今、私はそうのような列グループを構築しています:
private function createGroupsForItemList(items: XMLList): void {
for each (var item: XML in items) {
var rbGroup: RadioButtonGroup = new RadioButtonGroup();
groups[[email protected]()] = rbGroup;
}
}
私はそうのような列グループとRadioButton
インスタンスを関連付けしようとしている:私は見ることができます
private function createValueControl(item: XML): UIComponent {
var control: RadioButton = new RadioButton();
control.label = "";
control.group = groups[[email protected]()];
control.addEventListener(Event.SELECT, updateSelection);
return control;
}
デバッガで、コントロールがグループに関連付けられていることを確認します。
control.group == groups[[email protected]()]
しかし、私はグループが制御については何も知らないことも同様に見ることができます。
group.radioButtons.length == 0
私はRadioButton
でgroup
ためのセッターがダムセッターであるためであると想像します。それがするのは、groupName
という魔法をしない変数にコピーすることだけです。しかし、私はRadioButton.groupName
プロパティを正しく設定するために使用すべき値を見つけられないようです。
要するに、私はこれらのビットを互いに話すようにする方法を困惑しています。これはどうすればいいですか?
- EDIT -
それは私が単にグループ名プロパティを設定することにより作成され、関連するグループを持つことができますが、私は選択リスナーを設定するグループでは得ることができないことが判明。グループ名は、動作するはず設定
control.groupName = groupNameForLevel(item);
control.group.addEventListener(Event.SELECT, updateSelection);
おそらくcontrol.validateNow()が役に立ちます。 –