3

以下问题似乎是 2.1 独有的,既发生在模拟器上,也发生在 nexus 上。相同的示例在我测试过的其他平台上运行良好 ( 1.5, 1.6 and 2.0 emulators)。

本文所述,我已经添加了创建的 gestureListener。不同之处在于我在 TextView 上添加了侦听器,该侦听器也注册了 contextMenu,即如下所示:

 onCreate(...) {
     ...
     // Layout contains a large TextView on which I want to add a context menu
     tv = findViewById(R.id.text_view);
     tv.registerForContextMenu(this);

     // create the gestureListener according above mentioned post.
     gestureListener = ...
     // set the listener on the text-view
     tv.setOnTouchListener(gestureListener);
     ...
}

测试时,可以识别正确的手势,但每隔一次它也会导致上下文菜单打开。由于同一个示例在非 2.1 平台上工作,我有一种感觉,问题不是我的代码......

感谢您的任何建议。

更新:似乎返回值在某处翻转。如果我让 onFling() 返回“错误”值,即在事件被跳过时为 true,在事件被消耗时为 false,它在 2.1 中可以正常工作。但是,当然,这在其他平台上不起作用。似乎是时候采取一个丑陋的解决方法了......

4

1 回答 1

1

感谢您的链接 steelbytes。我在最后一条评论(2010 年 12 月 27 日)中实现了取消并返回错误的解决方案,但仅针对我的 onFling 事件,它似乎适用于 1.6 和 2.x 设备。

于 2011-02-18T23:31:08.097 回答