RxJava實現view的雙擊事件
阿新 • • 發佈:2019-02-07
public void doubleClickDetect(View view){ Observable<Void> observable = RxView.clicks(view).share(); observable.buffer(observable.debounce(200, TimeUnit.MILLISECONDS)) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Action1<List<Void>>() { @Override public void call(List<Void> voids) { if(voids.size() >= 2){ //double click detected } } }, new Action1<Throwable>() { @Override public void call(Throwable throwable) { Timber.e(throwable, "error"); } }); }
注:rxView是rxBinding庫裡面的物件