RadioButtonGroup をラップしたカスタムコンポーネントを、同一画面で複数回再利用するとき、ちょっとした工夫を施さないと、Tab キー操作によるキーフォーカス遷移が正しく機能しません。
どうやら RadioButtonGroup の id プロパティは、オブジェクトの階層とは関係なく、アプリケーション内において一意の名前でなければならない(重複してはいけない)ようです。
しかも RadioButtonGroup はなかなかの曲者で、id プロパティを定義する場合、MXML タグに直接書くことしかできません。id=”{hogehoge}”… のように、波括弧で変数を参照することすらできません。( AS では一切定義できません)
そこで、かなり強引な手段ですが、回避用のサンプルとソースを用意しましたので、下記 URL をご覧ください。
RadioButtonFocusSample (画面)
http://labs.taiga.jp/flex2/RadioButtonFocusSample/
RadioButtonFocusSample (ソース)
http://labs.taiga.jp/flex2/RadioButtonFocusSample/srcview/
簡単にポイントを箇条書きで説明します。
- RadioButtonGroup タグは使用しません。
- グルーピング処理は、RadioButton の groupName プロパティを使用します。
- RadioButtonGroup のイベントを使用したい場合は、RadioButtonGroup インスタンスを作成し、groupName 定義済みの RadioButton の group プロパティを代入します。