Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry 黑莓轨迹球点击,而不是响应事件,上下文菜单显示为什么?_Blackberry_Menu_Events_Contextmenu - Fatal编程技术网

Blackberry 黑莓轨迹球点击,而不是响应事件,上下文菜单显示为什么?

Blackberry 黑莓轨迹球点击,而不是响应事件,上下文菜单显示为什么?,blackberry,menu,events,contextmenu,Blackberry,Menu,Events,Contextmenu,我在一些设备上遇到了以下情况:当用户单击字段并期望响应时,设备不会正确响应该单击事件,而是在屏幕的底部中央显示上下文菜单 导航解锁和履带轮解锁 根据我所读的内容,我可以覆盖navigationUnclick和trackwheelUnclick以防止菜单显示。我是在屏幕级别这样做的,但是复制居中菜单场景是很困难的。这是正确的方法吗 为什么会发生这种情况?有什么办法解决这个问题吗?你能发布你的代码吗?尝试覆盖trackwheelClick和navigationClick,而不是取消锁定方法。也要确保

我在一些设备上遇到了以下情况:当用户单击字段并期望响应时,设备不会正确响应该单击事件,而是在屏幕的底部中央显示上下文菜单

导航解锁和履带轮解锁
根据我所读的内容,我可以覆盖navigationUnclick和trackwheelUnclick以防止菜单显示。我是在屏幕级别这样做的,但是复制居中菜单场景是很困难的。这是正确的方法吗


为什么会发生这种情况?有什么办法解决这个问题吗?

你能发布你的代码吗?尝试覆盖trackwheelClick和navigationClick,而不是取消锁定方法。也要确保在这些方法中返回true。

如果覆盖onMenu并仅返回true(您处理了menu事件)然后菜单将不会显示…假设您也不需要完整的菜单-如果您想要完整的菜单而不是上下文菜单,那么按照Jan说的做,您应该会没事-确保返回true,否则事件将冒泡并以生成菜单结束

public class MyClass Extends MainScreen
{
   ///
  // Override onMenu to prevent menu from coming up when you click trackwheel 
  public boolean onMenu(int instance)
  {
    return true;
  }
}

我最近遇到了这种情况。我扩展了
MainScreen
以提供一些基本功能,但不需要上下文菜单。从n
avigationClick()返回
true
删除了此行为

public class MyScreen extends MainScreen {
    protected boolean navigationClick(int status, int time) {
        /*  
        ... custom behavior ... 
        */
        return true;
        // the following line would trigger the context menu
        //return super.navigationClick(status, time);
    }
}
我根本不需要覆盖
navigationUnclick()
。与@JustinD使用override
onMenu()
的方法不同,这只会防止菜单出现在特定情况下,而不会出现在整个屏幕上(这可能是您想要的,这可能是更好的方法)


无论如何,这是我最近在单击和菜单方面的经验。

您可以在主屏幕中的所有字段上使用CONSUME\u CLICK样式…

+1应该注意的是,返回true表示事件已被使用,其他侦听器不应处理该事件。这就是菜单不会显示的原因。