Flex Mobile事件监听器未触发



我在移动应用程序(内置在Flash Builder 4.5, Flex SDK 4.5.1)中工作时遇到了问题

我有一个事件类叫做BMS_Event。如下所示:

package model
{
import flash.events.Event;
public class BMS_Event extends Event
{
    public static var COMPLETE_EVENT:String = "BMSData_Complete";
    public static var FAULT:String = "BMSDatafault";
    public var data:*;
    public function BMS_Event(type:String, data:*=null, bubbles:Boolean=false, cancelable:Boolean=false)
    {
        this.data = data;
        super(type, bubbles, cancelable);
    }
}

}

分派事件的类:

package model
{
import flash.events.Event;
import flash.events.EventDispatcher;
import model.BMS_Event;
public class BMSDataParser extends EventDispatcher
{
    public function BMSDataParser()
    {
        trace("BMSDataParser function");
        var BMSDataCompleteEvent:BMS_Event = new BMS_Event(BMS_Event.COMPLETE_EVENT);
        dispatchEvent(BMSDataCompleteEvent);
    }
}

}

在我的移动应用程序视图中,有两个函数调用事件解析器,然后是一个事件监听器,监听完整的事件:

    import model.BMSDataParser;
import model.BMS_Event;
protected function getData():void
{
    var parser:BMSDataParser = new BMSDataParser();
    parser.addEventListener(BMS_Event.COMPLETE_EVENT, bmstest);
}
private function bmstest(e:BMS_Event):void
{
    trace("bmstest function");
}

我遇到的问题是事件监听器没有触发,直到那时一切都很好。它可以在web应用程序中工作,但出于某种原因不能在移动应用程序中工作。我是移动应用程序开发的新手-这是AIR移动应用程序的限制吗?

非常感谢任何帮助/建议。由于

可以将var parser:BMSDataParser设为私有类变量,在该类的creationCompleteinitialized事件中加入parser.addEventListener(BMS_Event.COMPLETE_EVENT, bmstest);

还有一件事:如果你使用ViewNavigatorApplication与视图,视图不会被创建,直到他们被推到视图堆栈,例如navigator.pushView(PayNowView);,所以任何监听器将不会被激活,除非他们首先显示

最新更新