当前位置: 首页 > news >正文

Android开发封装防抖xxx秒操作

Android开发封装防抖xxx秒操作

防抖不是简单的延迟操作。是某一时间内只响应一次。

直接上工具类代码:

public class DebounceUtil {private static final Handler handler = new Handler(Looper.getMainLooper());private static final Map<String, Runnable> debounceMap = new HashMap<>();private static final int DEBOUNCE_DELAY = 500; // 500ms,可自定义public static void runDebounced(String tag, Runnable action) {Runnable old = debounceMap.get(tag);if (old != null) {handler.removeCallbacks(old);}Runnable runnable = new Runnable() {@Overridepublic void run() {action.run();debounceMap.remove(tag);}};debounceMap.put(tag, runnable);handler.postDelayed(runnable, DEBOUNCE_DELAY);}
}

使用示例:

DebounceUtil.runDebounced("mykey", () -> {new CommonPresenter<>().getChatMessagePageNum();});
http://www.dtcms.com/a/273458.html

相关文章:

  • 莫兰迪色系工作总结汇报PPT模版分享
  • Java 中使用 Stream 将 List 转换为 Map 实战笔记(生产级版)
  • 用 React Three Fiber 实现 3D 城市模型的扩散光圈特效
  • Android 开发中插桩
  • RK3566/RK3568 Android11 修改selinux模式
  • JAVA后端开发——类命名规范
  • android 的软件盘
  • 五镜头倾斜摄影相机的技术优势与应用原理
  • 影石(insta360)GO3拇指相机格式化后的恢复方法
  • 远程登录docker执行shell报错input is not a terminal问题
  • 宝塔命令Composer 更改数据源不生效
  • php中调用对象的方法可以使用array($object, ‘methodName‘)?
  • BP神经网络对时序数据进行分类
  • SpringBoot项目保证接口幂等的五种方法!
  • Typecho性能优化全攻略:从数据库到PHP的深度调优
  • 线性回归原理推导与应用(十):逻辑回归多分类实战
  • 文章发布易优CMS(Eyoucms)网站技巧
  • 1Panel V1 无缝升级到 V2 版本 实现多个 PHP 网站共享一个容器
  • 搭建渗透测试环境
  • 【工具变量】全国省市区县土地出让结果公告数据(2000-2024年)
  • 【操作系统】线程
  • RabbitMQ 之消息积压
  • 从 Python 演进探寻 AI 与云对编程语言的推动
  • 【C/C++ shared_ptr 和 unique_ptr可以互换吗?】
  • 传输层协议UDP原理
  • 秋招小白学数据结构-1-数据结构前置知识
  • C Primer Plus 第6版 编程练习——第9章(上)
  • Umi-OCR 的 Docker(win制作镜像,Linux(Ubuntu Server 22.04)离线部署)
  • 微软语音合成标记语言SSML文档结构和事件(详细文档和实例)
  • 企业级配置:Azure 邮件与 Cloudflare 域名解析的安全验证落地详解