Ton*_*lon 3 blackberry touchscreen rim-4.7
我已经将一个Blackberry 4.6.0应用程序移植到了4.7.0的风暴上.除了我试图控制的触摸事件之外,一切都很好.我在下面的方法中捕获触摸事件,这样做的确如此,但问题是我的touchEvent中的逻辑执行并返回菜单(通过菜单按钮启动)总是显示.我试过返回false,true和super.touchEvent(消息),但它仍然出现.
陷阱触摸事件后如何阻止菜单出现的任何想法?
protected boolean touchEvent(TouchEvent message)
{
if (message.getEvent() == TouchEvent.CLICK)
{
//My code here
}
}
Run Code Online (Sandbox Code Playgroud)
非常感谢您的想法
只是为了澄清haagmm的答案:
将TouchEvent.CLICK发送到您的应用程序后,还将发送navigationClick事件.这是出于兼容性原因,因此即使未明确编写应用程序来响应touchEvents,ButtonFields之类的东西也可以在触摸屏设备上运行.
如果应用中的字段未使用navigationClick事件(返回true),则将显示上下文菜单.
如果在单击按钮字段时看到此行为,则说明默认情况下,ButtonFields不会消耗单击事件.我发现总是使用以下样式位设置构造ButtonFields是一种好习惯:
ButtonField myButtonField =
new ButtonField( ButtonField.CONSUME_CLICK | ButtonField.NEVER_DIRTY );
Run Code Online (Sandbox Code Playgroud)
haagmm的代码是一个解决方案,但更好的想法是复制TouchEvent.CLICK处理代码并将其粘贴到navigationClick方法中.这样,像BlackBerry Tour这样的轨迹球设备仍然可以使用您的应用程序.
| 归档时间: |
|
| 查看次数: |
2263 次 |
| 最近记录: |