* [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/99870708
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/99870708
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/99870708

Branch: refs/heads/0.16-dev
Commit: 998707085d749b2dc0289650c29d665396276c27
Parents: 7606dc7
Author: misakuo <misa...@apache.org>
Authored: Tue Aug 15 14:42:59 2017 +0800
Committer: misakuo <misa...@apache.org>
Committed: Tue Aug 15 14:42:59 2017 +0800

----------------------------------------------------------------------
 .../com/taobao/weex/ui/view/WXCircleViewPager.java     | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/99870708/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 160dcb1..f01702e 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
@@ -20,6 +20,8 @@ package com.taobao.weex.ui.view;
 
 import android.annotation.SuppressLint;
 import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
 import android.support.v4.view.PagerAdapter;
 import android.support.v4.view.ViewPager;
 import android.util.AttributeSet;
@@ -46,6 +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 Runnable scrollAction = new ScrollAction(this);
 
@@ -56,6 +59,8 @@ public class WXCircleViewPager extends ViewPager implements 
WXGestureObservable
   }
 
   private void init() {
+    mAutoScrollHandler = new Handler(Looper.getMainLooper());
+
     setOverScrollMode(View.OVER_SCROLL_NEVER);
 
     addOnPageChangeListener(new OnPageChangeListener() {
@@ -149,12 +154,12 @@ public class WXCircleViewPager extends ViewPager 
implements WXGestureObservable
    */
   public void startAutoScroll() {
     isAutoScroll = true;
-    removeCallbacks(scrollAction);
-    postDelayed(scrollAction, intervalTime);
+    mAutoScrollHandler.removeCallbacks(scrollAction);
+    mAutoScrollHandler.postDelayed(scrollAction, intervalTime);
   }
 
   public void pauseAutoScroll(){
-    removeCallbacks(scrollAction);
+    mAutoScrollHandler.removeCallbacks(scrollAction);
   }
 
   /**
@@ -162,7 +167,7 @@ public class WXCircleViewPager extends ViewPager implements 
WXGestureObservable
    */
   public void stopAutoScroll() {
     isAutoScroll = false;
-    removeCallbacks(scrollAction);
+    mAutoScrollHandler.removeCallbacks(scrollAction);
   }
 
   public boolean isAutoScroll() {

Reply via email to