如何从单击按钮调用的函数内部 return 到 OnClickListener?
How to return to OnClickListener from inside a function that gets invoked by a click on Button?
我有一些行代码可以防止多次快速单击按钮。
如果我每次都在 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
}
}
我有一些行代码可以防止多次快速单击按钮。
如果我每次都在 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
}
}