Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#11] 각종 편의 확장함수 추가 - DebounceClick #29

Merged
merged 1 commit into from
Apr 13, 2022

Conversation

ethan-223
Copy link
Collaborator

내용

  • 기존 setOnClickListener()를 사용하면 중복 클릭이 발생할 수 있습니다. (Activity 중복 실행, API 중복 호출)
  • 디바운스 처리를 위해 View 확장함수에 setOnDebounceClickListener()를 추가합니다.
  • 앞으로 모든 클릭 처리는 해당 API 로만 작성하도록 약속합니다. (setOnClickListener() 사용 금지)

작업 사항

  • 기본 interval 은 1초로 설정합니다.
  • 특정 API 의 응답이 1초 보다 느릴 수 있는 경우에 유동적으로 interval 을 변경할 수 있습니다.

사용 예시

  • 다음과 같이 코드를 작성합니다.
  • 이미지는 연타했을 때 로그 시간을 확인한 겁니다.

기본 사용 -> interval 1초

findViewById<TextView>(R.id.test).setOnDebounceClickListener {
  Lg.d("click")
}

interval 파라미터 사용 -> 2초로 설정한 경우

findViewById<TextView>(R.id.test).setOnDebounceClickListener(2000L) {
  Lg.d("click")
}

참고

@ethan-223 ethan-223 added the feature 새로운 기능 label Apr 13, 2022
@ethan-223 ethan-223 added this to the v1.0.0 milestone Apr 13, 2022
@ethan-223 ethan-223 self-assigned this Apr 13, 2022
Copy link
Collaborator

@heechokim heechokim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

감사합니당~

action.invoke(view)
}
}
setOnClickListener(debounceClickListener)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 .. this.setOnClickListener() 같이 꼭 this 안 붙여도 되는군요오,,

@yuni-ju yuni-ju self-requested a review April 13, 2022 14:34
Copy link
Member

@yuni-ju yuni-ju left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

기존 클릭 리스너에 중복 클릭 문제가 발생할 수 있다는 것을 처음 알게되었습니다..!
감사합니다 👍

@ethan-223 ethan-223 merged commit a9f2a16 into develop Apr 13, 2022
@ethan-223 ethan-223 deleted the feature/debounce-click branch April 13, 2022 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature 새로운 기능
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants