カスタムイベントを作成しました。これはカスタムコンポーネントから発生しました。ビュースタックの選択されたインデックスを変更するには、メインアプリケーションでキャッチする必要があります。 しかし、これはうまくいかず、理由を理解できません。カスタムイベントが機能しない
これは私のカスタムイベントである:
package events
{
import flash.events.Event;
public class ChangeSelectedIndex extends Event
{
public static var index_passed:String = "Index passed";
private var index:int;
public function ChangeSelectedIndex(i:int, type:String, bubbles:Boolean=false, cancelable:Boolean=false)
{
super(type,bubbles, cancelable);
index = i;
}
public function get getIndex():int
{
return index;
}
}
}
これは私がイベントを発生する方法である:
protected function checkUsernameExistsDbSucces(event:ResultEvent):void
{
dispatchEvent(new ChangeSelectedIndex(1,ChangeSelectedIndex.index_passed,false,false));
}
そして、これは、イベントをキャッチする私の関数である:で
private function changeSelectedIndexHandler(event:ChangeSelectedIndex):void
{
mainViewStack.selectedIndex = event.getIndex;
}
'checkUsernameExistsDbSucces'が呼び出されたことは確かですか?あなたはコールをトレースしようとしましたか? –
イベントリスナーはどこに追加しますか?イベントがまったくキャッチされない場合は、イベントをディスパッチせず(関数が呼び出されていない)、間違ったイベントディスパッチャを聴いたり、イベントがバブリングする必要があります。 – weltraumpirat
@JohnGiotta:はい、これは正常に呼び出されます。 – Veltar