首页 > 解决方案 > 如何确保函数在给定时间运行一次,而不是同时运行?

问题描述

我有一个功能function()。当函数被多次调用时,我如何确保它会一个接一个地运行,而不是同时运行?我在 Android Studio 3.5 中使用 Kotlin 1.3。

我的代码是

 button.setOnClickListener{function()}

function()问题是,按钮可以在仍在运行时多次按下,因此我希望后续调用function()顺序执行,一个接一个,而不是同时执行。

编辑:我的函数定义是

fun function(){
    image.animate().rotationBy(360F).setDuration(500)
}

用户可以多次按下按钮,因此结果是图像(image)被旋转到一个角度,因为图像在没有完成完全旋转时再次旋转,最终以另一个角度旋转而不是0°。

标签: androidkotlinandroid-studio-3.5.1

解决方案


@Synchronized注释完全符合您的要求:

@Synchronized
private fun function() {
    //...
}

推荐阅读