// 防止多次点击造成的页面一直返回
private static final int MIN_DELAY_TIME = 400; // 两次点击间隔不能少于400ms 往大调也可以
private static long lastClickTime;
public static boolean isFastClick() { //这个方法可以放到公共类里
boolean flag = true;
long currentClickTime = System.currentTimeMillis();
if ((currentClickTime - lastClickTime) >= MIN_DELAY_TIME) {
flag = false;
}
lastClickTime = currentClickTime;
return flag;
}
使用时:
if (isFastClick()) {
goBack();//你的返回的方法 (这个是我的)
}
有的没有指定明确要引入的包 现整理一二 如有不对的地方 欢迎评论指出 我会及时修改
RxAndroid 防止重复点击 引入以下依赖
// 防止按钮短时间内被重复点击多次
implementation 'io.reactivex:rxjava:1.2.7'
implementation 'io.reactivex:rxandroid:1.2.1'
implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
implementation 'com.jakewharton.rxbinding:rxbinding:0.3.0'
implementation 'com.jakewharton.rxbinding:rxbinding-appcompat-v7:0.3.0'
implementation 'com.jakewharton.rxbinding:rxbinding-design:0.3.0'
在需要点击事件的地方添加以下代码
BasePage.WINDOW_DURATION是点击事件间隔的时间 我设置的为 2 秒 放在公共类里就可以
TextView back = view.findViewById(R.id.iv_bar_left);
RxView.clicks(back)
.throttleFirst(BasePage.WINDOW_DURATION, TimeUnit.SECONDS)
.subscribe(new Action1<Void>() {
@Override
public void call(Void aVoid) {
goBack();
}
});