Android 防止多次重复点击

 

//    防止多次点击造成的页面一直返回
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() {
            @Override
            public void call(Void aVoid) {
                goBack();
            }
        });

 

 

 

你可能感兴趣的:(Android 防止多次重复点击)