3

我在某些设备上遇到了以下情况:当用户点击字段并期望得到响应时,设备没有正确响应该点击事件,而是在屏幕底部中心显示上下文菜单。

navigationUnclick 和 trackwheelUnclick
从我读过的内容来看,我可以覆盖 navigationUnclick 和 trackwheelUnclick 以防止菜单显示。我将其作为屏幕级别执行,但再现居中菜单场景很困难。这是正确的方法吗?

为什么会这样?有没有办法解决这个问题?

4

4 回答 4

6

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

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(),这只会阻止菜单出现这种情况——而不是整个屏幕(您可能想要,这可能是一种更好的方法)。

无论如何,这就是我最近对点击和菜单的体验。

于 2009-08-21T18:09:43.703 回答
1

你可以发布你的代码吗?尝试覆盖 trackwheelClick 和 navigationClick 而不是 Unlick 方法。还要确保在这些方法中返回 true。

于 2009-08-17T23:36:59.320 回答
1

如果您覆盖 onMenu 并仅返回 true (您处理了菜单事件),那么菜单将不会显示...假设您也不需要完整菜单 - 如果您想要完整菜单而不是上下文菜单,那么只需执行 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;
  }
}
于 2009-08-21T17:38:57.977 回答
0

您可以在 MainScreen 中的所有字段上使用 CONSUME_CLICK 样式...

于 2011-06-01T22:35:26.210 回答