Avatar ·

如何在 Kotlin 中实现带延迟的函数调用?(Android)

你好!我是 Kotlin 和 Android 开发的新手。正在写一个简单的应用:倒计时器。我需要点击“开始”按钮后,5 秒后执行某个操作(例如,显示一个 Toast 消息“时间到了!”)。 我尝试在协程中使用 `Thread.sleep(5000)`,但应用会卡住 5 秒,Toast 只在之后出现,而且界面不更新。这是我的代码: ```kotlin fun startTimer() { GlobalScope.launch { Thread.sleep(5000) withContext(Dispatchers.Main) { Toast.makeText(this@MainActivity, "时间到了!", Toast.LENGTH_SHORT).show() } } } ``` 问题在于 `Thread.sleep` 会阻塞线程,这是不正确的。我听说过 `Handler` 和 `Timer`,但不知道在 Kotlin 中哪种方式被认为是现代且正确的简单延迟方法。请告诉我如何正确实现延迟,以便不阻塞 UI 且代码可读。