我有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