Java 类android.view.View.OnScrollChangeListener 实例源码
项目:AbacusUtil
文件:ObserverX.java
public Disposable onScrollChange(final OnScrollChangeListener onNext, final Consumer<? super Exception> onError, final Runnable onComplete) {
N.requireNonNull(onNext, "onNext");
N.requireNonNull(onError, "onError");
N.requireNonNull(onComplete, "onComplete");
dispatcher.append(new DispatcherBase<Object>(onError, onComplete) {
@Override
public void onNext(Object param) {
final Tuple5<View, Integer, Integer, Integer, Integer> tmp = (Tuple5<View, Integer, Integer, Integer, Integer>) param;
if (Fu.isUiThread()) {
onNext.onScrollChange(tmp._1, tmp._2, tmp._3, tmp._4, tmp._5);
} else {
UIExecutor.execute(new Runnable() {
@Override
public void run() {
onNext.onScrollChange(tmp._1, tmp._2, tmp._3, tmp._4, tmp._5);
}
});
}
}
});
_view.setOnScrollChangeListener(new OnScrollChangeListener() {
@Override
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
dispatcher.onNext(Tuple.of(v, scrollX, scrollY, oldScrollX, oldScrollY));
};
});
disposeActions.add(new Runnable() {
@Override
public void run() {
_view.setOnScrollChangeListener(null);
}
});
return this;
}
项目:AbacusUtil
文件:ObserverX.java
public Disposable onScrollChange(final Consumer<? super Tuple5<View, Integer, Integer, Integer, Integer>> onNext,
final Consumer<? super Exception> onError, final Runnable onComplete) {
N.requireNonNull(onNext, "onNext");
N.requireNonNull(onError, "onError");
N.requireNonNull(onComplete, "onComplete");
dispatcher.append(new DispatcherBase<Object>(onError, onComplete) {
@Override
public void onNext(Object param) {
final Tuple5<View, Integer, Integer, Integer, Integer> tmp = (Tuple5<View, Integer, Integer, Integer, Integer>) param;
if (Fu.isUiThread()) {
onNext.accept(tmp);
} else {
UIExecutor.execute(new Runnable() {
@Override
public void run() {
onNext.accept(tmp);
}
});
}
}
});
_view.setOnScrollChangeListener(new OnScrollChangeListener() {
@Override
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
dispatcher.onNext(Tuple.of(v, scrollX, scrollY, oldScrollX, oldScrollY));
};
});
disposeActions.add(new Runnable() {
@Override
public void run() {
_view.setOnScrollChangeListener(null);
}
});
return this;
}
项目:AbacusUtil
文件:ObserverX.java
public Disposable onScrollChange(final OnScrollChangeListener onNext) {
return onScrollChange(onNext, Fu.ON_ERROR_MISSING);
}
项目:AbacusUtil
文件:ObserverX.java
public Disposable onScrollChange(final OnScrollChangeListener onNext, final Consumer<? super Exception> onError) {
return onScrollChange(onNext, onError, Fu.EMPTY_ACTION);
}