【发布时间】:2015-09-10 09:35:56
【问题描述】:
我正在尝试制作一个简单的“按钮去抖动器”,它将计算过滤的点击次数并通过 TextView 显示它。我想过滤快速/垃圾邮件点击,以忽略中间间隔小于 300 毫秒的点击。
我进行了研究,偶然发现了 Rx 很棒的 debounce(),理论上它应该可以做我想做的事情..
..或者我是这么想的。由于该应用程序似乎只注册了第一次点击;无论我尝试等待多长时间,计数器都不会增加。
这是我的一段代码:
...
RxView.clicks(mButton)
.debounce(300, TimeUnit.MILLISECONDS)
.subscribe(new Subscriber<Object>() {
public int mCount;
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Object o) {
mText.setText(String.valueOf(++mCount));
}
});
...
我做错了什么?我尝试在没有debounce() 的情况下运行该东西,并且它运行良好(每次单击按钮时计数器都会增加)。
提前致谢!
【问题讨论】:
标签: android rx-java rx-android