当按下其他按钮时,带有setOnClickListener()的按钮如何执行未完成的工作?



如果我按下设置为在单击时执行工作的按钮,并且在第一个按钮没有完成他的工作时立即按下其他按钮,第一个按钮会完成他的工作还是会在 Kotlin 中中断?

如果您不希望第二个按钮的功能影响第一个按钮的功能,您可以使用 Kotlin 协程同时运行这两个操作/函数。如果按钮 1 和 2 的功能都是长时间运行的任务,它甚至最适用,这将有助于确保您不会阻止main thread

您可以将按钮 1 和按钮 2 的功能设置为在main thread继续时在单独的coroutines上运行。这两个函数将在后台执行,而main thread将继续。您需要将按钮 1 和 2 的功能标记为suspend函数,这是一个用于标识函数coroutine友好的术语。

查找 Kotlin 协程以更好地理解。

最新更新