快速点击

在我们项目中常常要判断是否快速点击,我们通常做法是通过时间来判断,但这种方法是有bug的,他无法确定你点的是不是同一个view,如过快点点击其他的view,你是不是也是通过时间了。。。这时候是不让点的,因此我们的事件也应该放在控件的本身来做判断。。。这个才是合理

    private static WeakHashMap<View, Long> lastClickTimeMap = new WeakHashMap<View, Long>();

    /**
     * 判断是否为快读点击
     */
    public static boolean isFastClick(View v) {
        long now = SystemClock.elapsedRealtime();
        Long lastClickTime = lastClickTimeMap.get(v);
        if (lastClickTime == null || now - lastClickTime >= 500) {
            lastClickTimeMap.put(v, now);
            return false;
        }
        return true;
    }

上面就是控件根据事件本身来做的判断。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值