android - 按下其他按钮时,带有 setOnClickListener() 的按钮如何完成未完成的工作?
问题描述
如果我按下设置为在单击时完成工作的按钮并且在第一个按钮没有完成他的工作时立即按下其他按钮,那么第一个按钮会完成他的工作还是会在 Kotlin 中被中断?
解决方案
如果您不希望第二个按钮的功能影响到第一个按钮的功能,您可以使用Kotlin Coroutines同时运行这两个操作/功能。如果按钮 1 和 2 的功能都是长时间运行的任务,这将有助于确保您不会阻止main thread
.
coroutines
您将按钮 1 和按钮 2 的功能设置为在继续时单独运行main thread
。这两个函数将在后台执行,同时main thread
继续。您需要将按钮 1 和 2 的功能标记为功能,suspend
这是一个术语,用于识别功能是否coroutine
友好。
查看Kotlin Coroutines以获得更好的理解。
推荐阅读
- javascript - 如何为 knex(使用 mock-knex)编写非脆性测试?
- powershell - Powershell中的错误w套接字:SocketException
- c# - 如何使用 .NET Core 3 身份验证创建管理员用户
- python - Dask 数组的项目分配
- r - 如何计算不同列中每一行的斜率和截距
- java - java.time.Period normalize() 更改月份字段的符号和值,尽管其绝对值小于 12
- haskell - Haskell 和 Data.Array.//:为什么这个类型是正确的?
- discord.js - Discord.js 消息未定义。消息嵌入
- python - Python - 数组或 NumPy 操作的 OpenCV 标准化以匹配 2 个图像数组?
- python - Pandas 错误:Series 的真值不明确