package
org.geeksforgeeks.viewdoubletap
import
android.os.Bundle
import
android.view.View
import
android.widget.TextView
import
android.widget.Toast
import
androidx.appcompat.app.AppCompatActivity
class
MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val view = findViewById<TextView>(R.id.tvView)
view.setOnClickListener(object : DoubleClickListener() {
override fun onDoubleClick(v: View?) {
Toast.makeText(applicationContext,
"Double Click"
,Toast.LENGTH_SHORT).show()
}
})
}
abstract
class
DoubleClickListener : View.OnClickListener {
var lastClickTime: Long =
0
override fun onClick(v: View?) {
val clickTime = System.currentTimeMillis()
if
(clickTime - lastClickTime < DOUBLE_CLICK_TIME_DELTA) {
onDoubleClick(v)
}
lastClickTime = clickTime
}
abstract
fun onDoubleClick(v: View?)
companion object {
private
const
val DOUBLE_CLICK_TIME_DELTA: Long =
300
}
}
}