首页 > 解决方案 > 按下其他按钮时,带有 setOnClickListener() 的按钮如何完成未完成的工作?

问题描述

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

标签: androidbuttonkotlin

解决方案


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

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

查看Kotlin Coroutines以获得更好的理解。


推荐阅读