You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by mi...@apache.org on 2017/08/16 03:49:15 UTC
[07/13] incubator-weex git commit: * [android] using independent
Handler to handle auto scroll
* [android] using independent Handler to handle auto scroll
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/be89af83
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/be89af83
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/be89af83
Branch: refs/heads/0.16-dev
Commit: be89af838d49cb730527de9b1fb717c9885da50c
Parents: 9987070
Author: misakuo <mi...@apache.org>
Authored: Tue Aug 15 15:09:47 2017 +0800
Committer: misakuo <mi...@apache.org>
Committed: Tue Aug 15 15:09:47 2017 +0800
----------------------------------------------------------------------
.../com/taobao/weex/ui/view/WXCircleViewPager.java | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/be89af83/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java b/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java
index f01702e..6419e48 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java
@@ -48,7 +48,7 @@ public class WXCircleViewPager extends ViewPager implements WXGestureObservable
private boolean needLoop = true;
private boolean scrollable = true;
private int mState = ViewPager.SCROLL_STATE_IDLE;
- private Handler mAutoScrollHandler;
+ private Handler mAutoScrollHandler = new Handler(Looper.getMainLooper());
private Runnable scrollAction = new ScrollAction(this);
@@ -59,8 +59,6 @@ public class WXCircleViewPager extends ViewPager implements WXGestureObservable
}
private void init() {
- mAutoScrollHandler = new Handler(Looper.getMainLooper());
-
setOverScrollMode(View.OVER_SCROLL_NEVER);
addOnPageChangeListener(new OnPageChangeListener() {
@@ -220,12 +218,12 @@ public class WXCircleViewPager extends ViewPager implements WXGestureObservable
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
- removeCallbacks(scrollAction);
+ mAutoScrollHandler.removeCallbacks(scrollAction);
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
if (isAutoScroll()) {
- postDelayed(scrollAction, intervalTime);
+ mAutoScrollHandler.postDelayed(scrollAction, intervalTime);
}
break;
}
@@ -301,7 +299,7 @@ public class WXCircleViewPager extends ViewPager implements WXGestureObservable
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
- removeCallbacks(scrollAction);
+ mAutoScrollHandler.removeCallbacks(scrollAction);
}
private static final class ScrollAction implements Runnable {
@@ -316,8 +314,8 @@ public class WXCircleViewPager extends ViewPager implements WXGestureObservable
WXCircleViewPager target;
if ((target = targetRef.get()) != null) {
target.showNextItem();
- target.removeCallbacks(this);
- target.postDelayed(this, target.getIntervalTime());
+ target.mAutoScrollHandler.removeCallbacks(this);
+ target.mAutoScrollHandler.postDelayed(this, target.getIntervalTime());
}
}
}