把Click点击事件单独拎出来:
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);
}
}
});
}