Android
안드로이드 버튼 중복 클릭 막기
zerocool0713
2019. 1. 3. 15:58
반응형
ref : https://stackoverflow.com/questions/5608720/android-preventing-double-click-on-a-button
같은 방법이지만 좀 더 편하게 사용하려면 아래처럼 class를 만든 후 사용하자.
Kotlin Extension method & High order function
import android.os.SystemClock
import android.view.View
class OneClickListener(private var interval: Int=1000, private var onOneClick: (View) -> Unit) : View.OnClickListener {
private var lastClick : Long = 0
override fun onClick(p0: View?) {
if(SystemClock.elapsedRealtime() - lastClick < interval){
return
}
lastClick = SystemClock.elapsedRealtime()
onOneClick(p0!!)
}
}
//extension method
fun View.setOneClickListener(onClick: (View) -> Unit){
val oneClick = OneClickListener{
onClick(it)
}
setOnClickListener(oneClick)
}
위처럼 클래스를 하나 만들어 줬으면
어느 컴포넌트에서든 사용할 수 있다.
반응형