如何解决如何从单击按钮调用的函数内部返回到 OnClickListener?
我有一些行代码可以防止多次快速单击按钮。
如果我每次都在 Button.OnClickListener
中使用该代码,它工作正常。
但是每次都调用相同的代码并不是一个好主意,所以我想将代码保留为全局函数,并在需要时调用该函数。
这是我的代码:
lastClickTime = 0L
MyButton.setOnClickListener {
if (SystemClock.elapsedRealtime() - lastClickTime < 1000) {
return@setOnClickListener
}
lastClickTime = SystemClock.elapsedRealtime()
我正在尝试创建一个从每个 Button.OnClickListener
调用的全局方法。但我不知道什么代码可以代替 return@setOnClickListener
。
var lastClickTime = 0L
fun preventMultiQuickClick() {
if (SystemClock.elapsedRealtime() - lastClickTime < 1000) {
//I WANT TO RETURN TO THE button.setOnClickListener
//OF THE BUTTON WHICH INVOKES THIS FUNCTION LIKE IN ABOVE CODE
}
lastClickTime = SystemClock.elapsedRealtime()
}
Button.setOnClickListener {
preventMultiQuickClick()
//do other stuffs
}
我怎样才能做到这一点?任何帮助将不胜感激。
解决方法
你可以这样做:
var lastClickTime = 0L
fun preventMultiQuickClick(): Boolean {
return if (SystemClock.elapsedRealtime() - lastClickTime < 1000) {
false
}
lastClickTime = SystemClock.elapsedRealtime()
true
}
Button.setOnClickListener {
if(!preventMultiQuickClick()) {
//do other stuffs
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。