2010-12-30 4 views
2

상황에 맞는 메뉴를 표시하는 코드를 삽입했을 때 메뉴가 고정 된 길게 누르기뿐만 아니라 끝 부분에 나타나는 (원치 않는) 경우를 제외하고는 문제가 없었습니다. 드래그의.Android : 길게 누르기로 드래그되는 것을 막을 수있는 방법

나는 이것을 막을 수있었습니다 : onCreateContextMenu (...) 메소드의 시작 부분에서이 플래그를 체크함으로써 뷰에 ScrollInProgress 플래그를 추가하고 코드를 우회하여 플래그가 설정되면 컨텍스트 메뉴에 항목을 추가합니다.

그러나 화면을 드래그 할 때 상황에 맞는 메뉴를 만들지 못하게하는 간단한 방법이 있는지 궁금합니다.

+0

일부 코드는 보지 못합니다. 끌기/긴 클릭을 어떻게 감지하는지 보여주십시오. – Falmarri

+0

Falmarri에 대한 답 : SimpleOnGestureListener를 확장 한 MyGestureDetector 클래스를 정의했습니다. 이 클래스 내에서 onScroll (...) 메서드는 재정의되고 여기서 scrollInProgress 플래그를 true로 설정합니다. 응용 프로그램의 주요 활동에서'gestureDetector = new GestureDetector (new MyGestureDetector()); '라는 줄이 있습니다. 스크롤 (드래그)의 시작이 감지되는 방식입니다. 길게 누르는 것은 메인 액티비티의 onCreate (...)에'registerForContextMenu (myView);'명령을 삽입하고'onCreateContextMenu'와'onContextItemSelected'에 대한 코드를 작성하는 것만으로 감지됩니다. – prepbgg

+0

이 설명을 전혀 작성하지 않으면 알려 주시기 바랍니다. – prepbgg

답변

0

명확히하기 위해 길게 누르는 제스처 감지기가 아닙니까? 그렇다면 setIsLongpressEnabled (boolean isLongpressEnabled)를 사용하여 비활성화 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 드래그가 진행되지 않을 때 앱이 길게 누르기를 감지하고 상황에 맞는 메뉴를 표시 할 수있게하려고합니다. MyGestureDetector의 onScroll 메서드 (현재 ScrollInProgress 플래그를 설정)에서 false로 설정해야하며 스크롤 끝이 감지되면 true로 설정해야한다는 의미입니까? – prepbgg