1. 程式人生 > >Rxjava,ThrottleFirst防止按鈕連續點選

Rxjava,ThrottleFirst防止按鈕連續點選

ThrottleFirst

允許設定一個時間間隔,在這個時間間隔內傳送第一個事件,而遮蔽其他事件,在時間間隔達到設定的時間後,傳送下一個事件

匯入依賴

    def retrofit_version = "2.1.0"
    def rxjava_version = "2.0.1"

    //RxJava的依賴包
    implementation 'io.reactivex.rxjava2:rxjava:' + rxjava_version
    //RxAndroid的依賴包
    implementation 'io.reactivex.rxjava2:rxandroid:' + rxjava_version

    //RxBinding
    implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'

例子

  RxView
                .clicks(button)
                .throttleFirst(5, TimeUnit.SECONDS)
                .subscribe(new Consumer<Object>() {
                    @Override
                    public void accept(Object o) throws Exception {
                        Toast.makeText(MainActivity.this, "點選", Toast.LENGTH_SHORT).show();
                    }
                });