android - rxbinding防抖动无效什么原因
PHP中文网
PHP中文网 2017-04-17 17:51:22
0
2
738
RxView.clicks(activityNewsButton)
                .throttleLast(1000,TimeUnit.MICROSECONDS)
                .subscribe(new Action1<Void>() {
                    @Override
                    public void call(Void aVoid) {
                        System.out.println("click");
                    }
                });

经过调试,这样子还是会输出很多个click,好像并没有成功防抖动,为什么
还有compoundbutton也不能实现这个功能

RxCompoundButton.checkedChanges(schoolBusSwitchButton)
                .throttleLast(1000, TimeUnit.MICROSECONDS)
                .subscribe(new Action1<Boolean>() {
                    @Override
                    public void call(Boolean aBoolean) {
                        System.out.println("switch");
                    }
                });
PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(2)
巴扎黑

throttleFirst

Ty80

Unit masa salah, 1000 mikrosaat = 1 milisaat = 0.001 saat
Kali ini tiada kesan anti goncang sama sekali
Niat asal hendaklah 1000 milisaat, iaitu 1 saat
Unit penukaran adalah seperti berikut

TimeUnit{
    NANOSECONDS,// 纳秒=0.000000001秒
    MICROSECONDS,//微妙=0.000001秒
    MILLISECONDS,//毫秒=0.001秒
    SECONDS,//秒
    MINUTES,//分钟
    HOURS,//小时
    DAYS//天
}

Selain itu,
throttleFirst() dan throttleLast() kedua-duanya boleh mempunyai kesan anti-goncang
Kesannya sedikit berbeza
Apabila throttleFirst() diklik secara berterusan, hanya kali pertama diambil, dan klik seterusnya diabaikan
throttleLast() hanya mengambil klik terakhir apabila mengklik secara berterusan dan mengabaikan klik sebelumnya

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan