使用 GestureDetector onLongPress 打开浮动上下文菜单 [ANDROID]

Opening a floating contextual menu by using GestureDetector onLongPress [ANDROID]

我有一个实现 onCreateContextMenu(其中菜单布局被放大)和 onContextItemSelected 菜单的片段,并且我在我的 RecyclerView 上设置了一个 addOnItemTouchListener 来检测长按.我在这个侦听器中创建了一个 GestureDetector 实例并覆盖了 onLongPress 方法。我尝试测试事件是否被捕获(通过打印 toast 消息),它是否有效。但是,当我尝试通过使用此触摸侦听器长按时显示上下文菜单时(我的推理是因为我想拦截侦听器以便事件不会传播到视图组的子级),它不会' 长按后显示任何上下文菜单。 我也申请了registerForContextMenu(recyclerView),也试过申请 openContextMenu(recyclerView) 但编译器检测到没有这样声明的方法。

好吧,显然我是从片段中调用 openContextMenu 并且该方法仅在 Activity 中可用。所以最后我使用 getActivity().openContextMenu 并且它有效。