BaseRecyclerViewAdapterHelper
BaseRecyclerViewAdapterHelper copied to clipboard
条目点击事件连点屏蔽
setOnItemClickListener() 此方法可以连续点击,导致可以同时打开多个页面,希望能屏蔽段时间连点,目前是自己写了屏蔽,建议直接能屏蔽掉
public abstract class BlockQuickItemClickListener implements OnItemClickListener {
private static final long MULTI_CLICK_INTERVAL = 800L;
private long lastClickTime;
public abstract void onBlockQuickItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position);
public boolean isFastClick() {
long currentTime = System.currentTimeMillis();
if (currentTime - lastClickTime < MULTI_CLICK_INTERVAL) {
return true;
} else {
lastClickTime = currentTime;
return false;
}
}
@Override
public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
if (isFastClick()) return;
onBlockQuickItemClick(adapter, view, position);
}
}
当然,这个也可以
public abstract class BlockQuickClickListener implements View.OnClickListener {
private static final long MULTI_CLICK_INTERVAL = 800L;
private long lastClickTime;
public abstract void onBlockQuickClick(View v);
@Override
public void onClick(View v) {
if (isFastClick()) return;
onBlockQuickClick(v);
}
public boolean isFastClick() {
long currentTime = System.currentTimeMillis();
if (currentTime - lastClickTime < MULTI_CLICK_INTERVAL) {
return true;
} else {
lastClickTime = currentTime;
return false;
}
}
}
+1