제스처가 필요하기 때문에 이 내 ListView
에 있지만 지금은 ContextMenu
이 작동하지 않습니다.onCreateContextMenu를 취소하는 OnGestureListener
편집 코드 : 그것을 주석
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);
이 내 제스처를 허용 하
하지만, 다시 제공 :
내 ListView
에 대한 Fragment
은의 onActivityCreated
방법 안에이 있습니다 내 ConextMenu.
showContextMenu (v)를 사용할 수는 있지만 그 위치가 확실하지 않을 수 있습니다. (몇 군데에서 시도했습니다). 어댑터가 설정되어 내 조각 내부
,이 비어있는 방법은
public void onLongPress(MotionEvent e) {
return;
}
내가 거기에 그 코드를 넣어 시도했지만 뷰에 대한 참조가 없기 있습니다. 계속 진행하는 방법을 모르십니까?
단순히'holder.l1'을 뷰로 사용할 수없는 이유는 무엇입니까 (ContextMenu가 열리는 뷰입니까?). – Luksprog
당신은'onTouch' 메쏘드 안에서 ... holder.l1.openconextmenu (v)'와 같은 것을 호출 할까? 또한'l1' 뷰는'LinearLayout'이므로 작동하지 않습니다. 그것은'ListView'의 각 행을 캡슐화하는 레이아웃입니다. (조각의 실제'ListView'에 제스처를 설정하려고 시도했지만 작동하지 않습니다.) – KickingLettuce
이 메소드를 호출하기 위해서는 액티비티 참조가 필요합니다 (이 경우는 'yourActivityReference.openContextMenu (holder.l1);'). – Luksprog