Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pranavlathigara/db3fdca45ae6430c0b4d286810aecd5a to your computer and use it in GitHub Desktop.
Save pranavlathigara/db3fdca45ae6430c0b4d286810aecd5a to your computer and use it in GitHub Desktop.
class SafeClickListener(
private var defaultInterval: Int = 1000,
private val onSafeCLick: (View) -> Unit
) : View.OnClickListener {
private var lastTimeClicked: Long = 0
override fun onClick(v: View) {
if (SystemClock.elapsedRealtime() - lastTimeClicked < defaultInterval) {
return
}
lastTimeClicked = SystemClock.elapsedRealtime()
onSafeCLick(v)
}
}
---------------------------------------------
fun View.setSafeOnClickListener(onSafeClick: (View) -> Unit) {
val safeClickListener = SafeClickListener {
onSafeClick(it)
}
setOnClickListener(safeClickListener)
}
----------------------------------------
settingsButton.setSafeOnClickListener {
logic()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment