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