Codenameone 映射不触发指针按下/释放事件

Codenameone 映射不触发指针按下/释放事件,codenameone,Codenameone,我有一个MapContainer实例,它不响应附加的PointerRelease侦听器。我试图检测当用户拖动地图时,地图何时停止移动。在下面的代码中,前两个侦听器不产生任何输出。第三/第四行 MapContainer mc = new MapContainer("mykey"); mc.addPointerPressedListener(new ActionListener() { @Override public void actionPerfo

我有一个MapContainer实例,它不响应附加的PointerRelease侦听器。我试图检测当用户拖动地图时,地图何时停止移动。在下面的代码中,前两个侦听器不产生任何输出。第三/第四行

MapContainer mc = new MapContainer("mykey");
mc.addPointerPressedListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent evt) {
                System.out.println("Don't see this");
            }
        });


        mc.addPointerReleasedListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent evt) {
                System.out.println("Don't see this either");
            }
        });
        mc.addTapListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent evt) {
                System.out.println("See This :-)");
            }
        });
        mc.addMapListener(new MapListener() {
            @Override
            public void mapPositionUpdated(Component source, int zoom, Coord centerCoord) {
                System.out.println("See this too!");
            }
        });

addTapListener
正确,并在
MapContainer
中实现。对于该容器,低级指针事件无法正常工作,因为映射逻辑是本机实现的,因此这些事件会被消耗


您可以通过将侦听器绑定到父窗体来跟踪它们,但这是有问题的,因为事件/手势可能具有特定于平台的解释。

addTapListener
是正确的,并在
MapContainer
中实现。对于该容器,低级指针事件无法正常工作,因为映射逻辑是本机实现的,因此这些事件会被消耗

您可以通过将侦听器绑定到父窗体来跟踪它们,但这是有问题的,因为事件/手势可能具有特定于平台的解释