Android防止暴力(多次)点击 - 代码已封装可直接使用
16lz
2021-12-04
Android防暴力(多次)点击,亲测可直接使用
方法一:使用 RxJava 的 throttleFirst()
/** * 防止重复点击 * * @param target * 目标view * @param listener * 监听器 */public static void preventRepeatedClick(final View target,final View.OnClickListener listener) {RxView.clicks(target).throttleFirst(1, TimeUnit.SECONDS).subscribe(new Observer<Object>() {@Overridepublic void onSubscribe(Disposable d) {}@Overridepublic void onNext(Object o) {listener.onClick(target);}@Overridepublic void onError(Throwable e) {}@Overridepublic void onComplete() {}});}
方法二:工具类,用于判断是否快速点击
public class ClickUtil {/** * 两次点击按钮之间的点击间隔不能少于1000毫秒 */private static final int MIN_CLICK_DELAY_TIME = 1000;/** * 最后一次点击的时间 */private static long mLastClickTime = -1;/** * 是否为快速点击 * * @return true:快速点击 false:非快速点击 */public static boolean isFastClick() {boolean flag;long curClickTime = System.currentTimeMillis();if (curClickTime - mLastClickTime > MIN_CLICK_DELAY_TIME) {flag = false;} else {flag = true;}mLastClickTime = curClickTime;return flag;}}
工具类方法调用如下:
//多次点击直接返回if (ClickUtil.isFastClick()) {return;}
更多相关文章
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用
- python list.sort()根据多个关键字排序的方法实现
- Android缩放动画
- Android实现点击两次返回键退出
- Android(安卓)SDK下载和更新失败的解决方法
- 818
- Android(安卓)AM命令行启动程序的方法
- android--系统路径获取