0

スイッチのテキスト値を変更するカスタムFlexToggleswitchコンポーネントがあります。

    package skins
{
    import spark.skins.mobile.ToggleSwitchSkin;

    public class MyToggleSwitchSkin extends ToggleSwitchSkin
    {
        public function MyToggleSwitchSkin()
        {
            super();
            selectedLabel="Serviceable";
            unselectedLabel="Fault";

        }
    }
}

MXMLタグを使用してコントロールを追加すると、正常に機能します。ただし、アクションスクリプトを使用してコンポーネントを追加すると、追加されません。

import skins.MyToggleSwitchSkin;
public function addToggle():void {
   var myCustomToggle:MyToggleSwitchSkin = new MyToggleSwitchSkin();
   hgroup.addElement(myCustomToggle);
} 

コントロールは表示されますが、アクティブにはなりません。

私が見逃したアイデアはありますか?

4

1 に答える 1

0

MXMLコードが表示されない場合、2つのアプローチを比較するのは困難ですが、@al_Birdyが問題に対処したと思います。カスタムToggleSwitchSkinを作成しました。カスタムToggleSwitchではありません。

addToggle()メソッドを次のように変更します。

public function addToggle():void {
   var myCustomToggle:MyToggleSwitch = new MyToggleSwitch();
   myCustomToggle.setStyle('skinClass',skins.MyToggleSwitchSkin);
   hgroup.addElement(myCustomToggle);
} 

運が良かったと思います。

于 2012-10-05T12:31:01.507 に答える