tags:

views:

27

answers:

0

I have a simple screen that displays a MapField.

I have added a zoom in/out feature. It works great on all (real) devices I have tested with OS 4.5 and 4.6.

But the method navigationMovement() is not called on the 9100. Tested with a real 9100 and with the simulator. It works as expected on the 9700 simulator

this is the code:

class MapScreen  extends ScreenBase
{
    private MapField _MapField;

    MapScreen() 
    {
        super("Map Screen");
        this._MapField = new MapField();    

        this.add(this._MapField);  
        this._MapField.moveTo(... Some Coordinates);             
    }


    protected boolean navigationMovement(int dx, int dy, int status, int time)
    {
        int min, max, zoom;

        if(dy == 0) { return false; }

        zoom  = this._MapField.getZoom();
        if(dy > 0)
        {
            zoom++;
        }
        else
        {
            zoom--;
        }
        min = this._MapField.getMinZoom();
        max = this._MapField.getMaxZoom();

        if(zoom < min)
        {
            zoom = min;
        }

        if(zoom > max)
        {
            zoom = max;
        }
        this._MapField.setZoom(zoom);
        return true;        
    }
} 

Any Idea why?