Android 功能防抖 的实现
生活随笔
收集整理的这篇文章主要介绍了
Android 功能防抖 的实现
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
功能防抖: 在规定时间内多次触发某一个功能 ,仅会响应第一次触发操作
我们可以设置时间显示,也可以使用RxJava 的 throttleFirst 来实现效果
普通的判断写法可以看我的这一遍博客
使用 throttleFirst
1 引入库
implementation "io.reactivex.rxjava3:rxjava:3.0.0-RC5"implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'implementation 'com.jakewharton.rxbinding3:rxbinding:3.1.0'
这里对一个TextView 做2秒内监听
private TextView textView;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.rxjava_activity_layout);textView = findViewById(R.id.rx_dou);RxView.clicks(textView).throttleFirst(2,TimeUnit.SECONDS).subscribe(new io.reactivex.Observer<Unit>() {@Overridepublic void onSubscribe(io.reactivex.disposables.Disposable d) {Log.d("-----rxjava", "开始采用subscribe连接");}@Overridepublic void onNext(Unit unit) {Log.d("-----rxjava", "对Next事件作出响应:" + unit);}@Overridepublic void onError(Throwable e) {Log.d("-----rxjava", "对Error事件作出响应" + e);}@Overridepublic void onComplete() {Log.d("-----rxjava", "对onComplete事件作出响应:RxJava认识完成");}});
}
使用RxBind 监听view 来实现2s内再次点击无响应效果
总结
以上是生活随笔为你收集整理的Android 功能防抖 的实现的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 空调如何检修?
- 下一篇: RxJava 实现模糊搜索