kotlin协程高级玩法之防按钮多次点击

作者: i校长 | 来源:发表于2017-08-25 09:58 被阅读251次

引言

在android开发过程中,经常遇到按钮多次点击后,会多次触发业务流程,导致不必要的浪费,一般在处理过程中会添加一个boolean状态来控制,实现起来过于繁琐,而在kotlin的世界里,这就简单了。

项目地址已开源

实现

给View扩展一个函数叫onClickStart,意思是只处理第一次开始事件
细节:
初始化一个协程实例actor,它来负责处理事件action,并在用户点击的时候将action处理后的结果传递给offer函数。

函数

使用

在onClickStart函数中使用delay 3秒钟,就可以完美实现三秒内不能被重复处理。

代码

总结

优雅的方式实现了一个常用的功能,这是协程的功劳。加油 kotlin!

相关文章

网友评论

  • 3b5a63689539:dealy放前面要等3秒才执行.防后面可以立即执行并且3秒内不消费
  • 负了时光不负卿:Actor与produce<unit>(Xx)有什么不同么?
    可以理解为一个是外部被消费另一个内部消费么?还有一个问题是,你的第二次点击时间是不是3秒后还是会被响应,这样还是有问题

本文标题:kotlin协程高级玩法之防按钮多次点击

本文链接:https://www.haomeiwen.com/subject/uqtudxtx.html