2

我正在 9900 上开发一个应用程序,其中轨迹球和触摸屏都可用。
在我的应用程序中,我有一个包含两个按钮的屏幕,奇怪的行为是:
如果我使用轨迹球将焦点设置到第二个按钮,然后我触摸屏幕中的任何空白位置,第二个按钮的更改侦听器被开除 ?如果用户错误地单击空白区域并且没有触摸第二个按钮,我不希望发生任何事情,该怎么做?

4

1 回答 1

0

我解决了它,对于那些感兴趣的人,您可以在您的图像按钮类中使用此代码:

private boolean isTouchOutside;

protected boolean touchEvent(TouchEvent message) {
    isTouchOutside = message.getX(1) < 0 || message.getX(1) > getWidth() || message.getY(1) < 0 || message.getY(1) > getHeight();
    return super.touchEvent(message); 
}

protected boolean navigationClick(int status, int time) {
    if(! isTouchOutside)
        fieldChangeNotify(0);
    return true;
}
于 2012-10-09T10:16:05.297 回答