마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

fragment 가 들어간 Activity에서 제스처 인식안될때..

0 추천
Activity에 슬라이드 View가 열려있을때 제스처 모션으로 닫기게 하려고 GestureDetector.OnGestureListener 를이용하여 Activity에 넣었더니 제스처가 작동을 하지않네요 그래서 적용된 fragment에다가도 GestureDetector를 넣어봤는데 여전히 같습니다... ㅠ

implements GestureDetector.OnGestureListener

...
gestureScanner = new GestureDetector(this);
...

@Override
public boolean onTouchEvent(MotionEvent event) {
    // TODO Auto-generated method stub
    return gestureScanner.onTouchEvent(event);
}

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
    Log.d(TAG, "onFling");
    Y_down = e1.getY();
    Y_up = e2.getY();

    if ((Y_down - Y_up) > 100) {
        if (relative_slide_ex.getVisibility() == View.VISIBLE) {
            CloseSlideExOpenMinData();
        }
    }

    return true;
}

...

왜안먹는걸까요.,. 제스처에 관한 예제들 다따라해봐도 같은증상입니다.. 안에 로그도 안찍히더군요 ㅠㅠ 어떻게 해결하는지 아시는분 있으면 알려주세요
R0R0 (2,610 포인트) 님이 2016년 12월 12일 질문

1개의 답변

+1 추천
 
채택된 답변
꼭 fragment가 들어갔을때에만 동작을 하지 않는다면 fragment에서

onTouchEvent 또는 onFling 함수를 먹기 때문에 안될 수도 있습니다.

두 오버라이드 함수 모드 boolean값을 리턴하는데 일반적으로 이 boolean이 true 이면 Activity까지 가지 않는것으로 알고 있는데 사용하시는 fragment에서 이 두 함수를 오버라이드 하여 false 를 리턴하도록 해보세요.
Development Guy (70,570 포인트) 님이 2016년 12월 12일 답변
R0R0님이 2017년 1월 6일 채택됨
...