티스토리 뷰
개발을 진행 하던 중 OnTouchListener를 사용 하여 터치 발생 시 특정 이벤트를 처리 하는 코드를 구현 하여 사용 하던 중
view 되는 항목이 늘어나 ScrollView를 사용 하여 Layout을 감싸 사용을 하였더니 ScrollView 사용으로 인해 화면을 스크롤링(scrolling) 하면OnTouchListener가 콜백 되어 의도하지 않았던 이벤트가 발생 되는 문제가 발생 되었습니다.
OnTouchListener는 터치시에만 이벤트가 발생되고 스크롤링을 할때는 해당 이벤트를 미처리 해야 경우가 발생 하였습니다.
그래서 아래의 코드와 같이 OnTouchListener에서 시간 간격을 체크 하여 스크롤링 될때에는 이벤트가 발생 되지 않도록 하는 코드를 사용 하여 해결 하였습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | testView.setOnTouchListener(new OnTouchListener() { private static final int MAX_CLICK_DURATION = 200; private long startClickTime; @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: { startClickTime = Calendar.getInstance().getTimeInMillis(); break; } case MotionEvent.ACTION_UP: { long clickDuration = Calendar.getInstance().getTimeInMillis() - startClickTime; if(clickDuration < MAX_CLICK_DURATION){ //터치 시 이벤트 코드 } } } return true; } }); | cs |
'IT > Android' 카테고리의 다른 글
[Android]JSON데이터 파싱하기(GSON 이용) (0) | 2018.07.13 |
---|---|
[Android]Execution failed for task ':app:transformClassesWithDexForDebug' 에러 해결하기 (0) | 2018.07.11 |
[Android]반복된 작업을 위한 AlarmManager 사용하기 (0) | 2018.07.09 |
[Android]java.lang.IllegalArgumentException 에러 해결하기 (0) | 2018.02.03 |
[Android] ScrollView사용 시 내부 특정 View로 이동 시키기 (0) | 2018.02.02 |
댓글
TAG
- 민주당 대선 후보
- 국기 다는 시간
- 사제 쿨러
- 7700K
- Looper.prepare()
- 림의 외경
- ONLINE JSON
- 라이젠
- 한글 패치
- 다렉
- 티스토리 초대장
- 오픈베타
- GPU 출시가격
- 1800X
- 투표소
- 포아너
- 하이엔드 그래픽카드
- 초대장
- GPU 출시
- 1800TI
- 블로그 개설
- 한글패치
- JSON PASER
- 배달 지연
- unbound prefix
- 테일즈 오브 베르세리아
- 단면폭
- 래디어 구조
- 예약메일 전송
- 19대 선거
최근에 올라온 글
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
공지사항
반응형