ListView / RecyclerView item 防止重复点击处理方案

/**
 * ListView / RecyclerView item 防止重复点击处理方案 
 */

public abstract class OnNoDoubleClickListener implements View.OnClickListener {

    // 0.9秒内防止多次点击
    public static final int MIN_CLICK_DELAY_TIME = 900;
    private long lastClickTime = 0;

    @Override
    public void onClick(View v) {
        long currentTime = Calendar.getInstance().getTimeInMillis();
        if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) {
            lastClickTime = currentTime;
            onNoDoubleClick(v);
        }
    }

// 用户需要进一步实现
    protected abstract void onNoDoubleClick(View v);

}

 

 

使用实例:

 if (mOnItemClickListener != null) {
            helper.itemView.setOnClickListener(new OnNoDoubleClickListener() {
                @Override
                protected void onNoDoubleClick(View v) { 
                            
                    mOnItemClickListener.onItemClick(v, position);
                   }
                }
            });
        }

 

发布了40 篇原创文章 · 获赞 8 · 访问量 11万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览