我有OnGestureListener
在我的ListView
,因为我需要手势,但现在ContextMenu
将无法正常工作。OnGestureListener取消创建上下文菜单
编辑的代码:
我有这样的onActivityCreated
方法在我的Fragment
为ListView
:
gestureDetector = new GestureDetector(getActivity(),
new GestureListener());
View.OnTouchListener gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
};
listView.setOnTouchListener(gestureListener);
这样做让我的手势,但注释掉它带回我的ConextMenu。
我知道我可以使用showContextMenu(v),但不知道把它放在哪里,如果这是答案(我曾尝试在几个地方)。
在我的片段,其中适配器设置,我有这个空方法,
public void onLongPress(MotionEvent e) {
return;
}
我试图把这些代码在那里,但有一个视图没有提及。所以不知道如何继续?
为什么你不能简单地使用'holder.l1'作为视图(我猜这是'ContextMenu'应该打开的视图)? – Luksprog 2013-03-07 19:18:33
你的意思是在'onTouch'方法内部调用类似......'holder.l1.openconextmenu(v)'的内容?另外,视图'l1'是一个'LinearLayout',因此不起作用。它是封装ListView每一行的布局。 (我尝试设置手势到实际的'ListView'在片段中,并没有工作。) – KickingLettuce 2013-03-07 19:44:38
您需要一个活动引用来调用该方法,像这样'yourActivityReference.openContextMenu(holder.l1);'。 – Luksprog 2013-03-07 19:50:21