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());
       }
     }
   }