在黑莓手机中触摸未占用的屏幕位置会引发聚焦现场监听?

时间:2012-10-08 15:48:37

标签: blackberry java-me touch

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

1 个答案:

答案 0 :(得分:0)

我解决了它,对于那些感兴趣的人,你可以在你的Image按钮类中使用这段代码:

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;
}