作为标题,在Kotlin中有在延迟后(例如1秒)调用函数的方法吗?
发布于 2017-04-11 14:23:38
您可以使用日程安排
inline fun Timer.schedule(
delay: Long,
crossinline action: TimerTask.() -> Unit
): TimerTask (source)示例(感谢@Nguyen在这里找到它:http://jamie.mccrindle.org/2013/02/exploring-kotlin-standard-library-part-3.html)
import java.util.Timer
import kotlin.concurrent.schedule
Timer("SettingUp", false).schedule(500) {
doSomething()
}发布于 2017-04-13 22:11:40
还有一个选项可以使用Handler -> postDelayed
Handler().postDelayed({
//doSomethingHere()
}, 1000)发布于 2018-11-27 09:11:49
多方面
1.使用Handler类
Handler().postDelayed({
TODO("Do something")
}, 2000)2.使用Timer类
Timer().schedule(object : TimerTask() {
override fun run() {
TODO("Do something")
}
}, 2000)
// Shorter
Timer().schedule(timerTask {
TODO("Do something")
}, 2000)
// Shortest
Timer().schedule(2000) {
TODO("Do something")
}3.使用Executors类
Executors.newSingleThreadScheduledExecutor().schedule({
TODO("Do something")
}, 2, TimeUnit.SECONDS)https://stackoverflow.com/questions/43348623
复制相似问题