정상에서 IT를 외치다

[Android, SingleClick] 싱글 클릭 리스너 구현 본문

안드로이드

[Android, SingleClick] 싱글 클릭 리스너 구현

Black-Jin 2020. 3. 19. 15:18
반응형
abstract class OnSingleClickListener(
private val clickDelayMilliSecond: Long = CLICK_DELAY_TIME
) : View.OnClickListener {

companion object {
private const val CLICK_DELAY_TIME = 1000L
}

private var lastClickTime = 0L

protected abstract fun onSingleClick(view: View)

override fun onClick(view: View) {
val now = System.currentTimeMillis()
if (now - lastClickTime > clickDelayMilliSecond) {
onSingleClick(view)
lastClickTime = now
}
}
}


클릭 시 1초 이전에 오는 인풋은 무시하는 SingleClickListener



사용예


기존

btnActivity.setOnClickListener {
//기존 방식
}


싱글 클릭

btnActivity.setOnClickListener(object : OnSingleClickListener() {
override fun onSingleClick(view: View) {
//single click
}
})


반응형
Comments