我的布局上有一个2x2的网格,我需要每秒检测出块中的触摸。
我该怎么办?
相对较新的线程处理。
感谢您的任何帮助,谢谢。
我建议使用Rxjava。在应用程序级别的build.gradle文件中添加以下依赖项
implementation "io.reactivex.rxjava2:rxjava:2.1.9"
implementation "io.reactivex.rxjava2:rxandroid:2.0.1"
implementation "com.jakewharton.rxbinding2:rxbinding:2.0.0"
在您的班级中添加以下代码。
RxView.clicks(my_grid_layout)
.map(new Function<Object, Integer>() {
@Override
public Integer apply(Object o) throws Exception {
return 1;
}
})
.buffer(1, TimeUnit.SECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new Observer<List<Integer>>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(List<Integer> integers) {
Log.e(TAG, "onNext: " + integers.size() + " taps received!");
int number_of_clicks= integers.size();
}
@Override
public void onError(Throwable e) {
Log.e(TAG, "onError: " + e.getMessage());
}
@Override
public void onComplete() {
Log.e(TAG, "onComplete");
}
});